From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 25 六月 2025 11:51:38 +0800
Subject: [PATCH] Merge branch 'mdc_hyjs_master'

---
 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/InboundOrderController.java |  268 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 268 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/InboundOrderController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/InboundOrderController.java
new file mode 100644
index 0000000..679a554
--- /dev/null
+++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/InboundOrderController.java
@@ -0,0 +1,268 @@
+package org.jeecg.modules.tms.controller;
+
+import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
+import org.jeecg.modules.tms.entity.InboundDetail;
+import org.jeecg.modules.tms.entity.InboundOrder;
+import org.jeecg.modules.tms.entity.dto.InboundOrderFlowDto;
+import org.jeecg.modules.tms.entity.dto.OutBoundOrderFlowDto;
+import org.jeecg.modules.tms.service.IInboundDetailService;
+import org.jeecg.modules.tms.service.IInboundOrderService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 鍏ュ簱鐢宠鍗�
+ * @Author: jeecg-boot
+ * @Date:   2025-05-19
+ * @Version: V1.0
+ */
+@Api(tags="鍏ュ簱鐢宠鍗�")
+@RestController
+@RequestMapping("/tms/inboundOrder")
+@Slf4j
+public class InboundOrderController extends JeecgController<InboundOrder, IInboundOrderService> {
+	@Autowired
+	private IInboundOrderService inboundOrderService;
+
+	 @Autowired
+	 private IInboundDetailService inboundDetailService;
+
+
+	 @Autowired
+	 private ISysBusinessCodeRuleService businessCodeRuleService;
+	
+	/**
+	 * 鍒嗛〉鍒楄〃鏌ヨ
+	 *
+	 * @param inboundOrder
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "鍏ュ簱鐢宠鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+	@ApiOperation(value="鍏ュ簱鐢宠鍗�-鍒嗛〉鍒楄〃鏌ヨ", notes="鍏ュ簱鐢宠鍗�-鍒嗛〉鍒楄〃鏌ヨ")
+	@GetMapping(value = "/list")
+	public Result<IPage<InboundOrder>> queryPageList(InboundOrder inboundOrder,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<InboundOrder> queryWrapper = QueryGenerator.initQueryWrapper(inboundOrder, req.getParameterMap());
+		Page<InboundOrder> page = new Page<InboundOrder>(pageNo, pageSize);
+		IPage<InboundOrder> pageList = inboundOrderService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   娣诲姞
+	 *
+	 * @param jSONObject
+	 * @return
+	 */
+	@AutoLog(value = "鍏ュ簱鐢宠鍗�-娣诲姞")
+	@ApiOperation(value="鍏ュ簱鐢宠鍗�-娣诲姞", notes="鍏ュ簱鐢宠鍗�-娣诲姞")
+	//@RequiresPermissions("org.jeecg.modules:tms_inbound_order:add")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody JSONObject jSONObject) {
+		InboundOrder inboundOrder = jSONObject.toJavaObject(InboundOrder.class);
+		inboundOrder.setOrderStatus("1");
+		inboundOrder.setInStatus("1");
+		LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+		inboundOrder.setHandler(user.getUsername());
+		inboundOrder.setInboundNum(businessCodeRuleService.generateBusinessCodeSeq("InBoundOrder"));
+		inboundOrderService.save(inboundOrder);
+		// 淇濆瓨鍏ュ簱鐢宠鍗曟槑缁嗘暟鎹�
+		JSONArray jsonArray = jSONObject.getJSONArray("detailData");
+		List<InboundDetail> list = jsonArray.toJavaList(InboundDetail.class);
+		for (int i = 0; i < list.size(); i++) {
+			InboundDetail temp = list.get(i);
+			temp.setId(null);
+			temp.setInStorehouseId(inboundOrder.getId());
+			temp.setInActualCount(BigDecimal.ZERO);
+			temp.setInStatus("1");
+			temp.setToolId(temp.getOnlyCode());
+			temp.setToolCode(temp.getToolCodeId());
+		}
+		inboundDetailService.saveBatch(list);
+		return Result.OK("娣诲姞鎴愬姛锛�");
+	}
+	
+	/**
+	 *  缂栬緫
+	 *
+	 * @param jSONObject
+	 * @return
+	 */
+	@AutoLog(value = "鍏ュ簱鐢宠鍗�-缂栬緫")
+	@ApiOperation(value="鍏ュ簱鐢宠鍗�-缂栬緫", notes="鍏ュ簱鐢宠鍗�-缂栬緫")
+	//@RequiresPermissions("org.jeecg.modules:tms_inbound_order:edit")
+	@PostMapping(value = "/edit")
+	public Result<?> edit(@RequestBody JSONObject jSONObject) {
+		InboundOrder inboundOrder = jSONObject.toJavaObject(InboundOrder.class);
+		inboundOrderService.updateById(inboundOrder);
+		// 鍒犻櫎鐢宠鍗曟槑缁嗘暟鎹�
+		inboundDetailService.deleteByInboundOrderId(inboundOrder.getId());
+		// 淇濆瓨鍏ュ簱鐢宠鍗曟槑缁嗘暟鎹�
+		JSONArray jsonArray = jSONObject.getJSONArray("detailData");
+		List<InboundDetail> list = jsonArray.toJavaList(InboundDetail.class);
+		for (int i = 0; i < list.size(); i++) {
+			InboundDetail temp = list.get(i);
+			temp.setId(null);
+			temp.setInStorehouseId(inboundOrder.getId());
+			temp.setInStatus("1");
+			temp.setInActualCount(BigDecimal.ZERO);
+			temp.setToolId(temp.getOnlyCode());
+			temp.setToolCode(temp.getToolCodeId());
+		}
+		inboundDetailService.saveOrUpdateBatch(list);
+		return Result.OK("鎿嶄綔鎴愬姛!");
+	}
+	
+	/**
+	 *   閫氳繃id鍒犻櫎
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "鍏ュ簱鐢宠鍗�-閫氳繃id鍒犻櫎")
+	@ApiOperation(value="鍏ュ簱鐢宠鍗�-閫氳繃id鍒犻櫎", notes="鍏ュ簱鐢宠鍗�-閫氳繃id鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:tms_inbound_order:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		inboundOrderService.removeById(id);
+		return Result.OK("鍒犻櫎鎴愬姛!");
+	}
+	
+	/**
+	 *  鎵归噺鍒犻櫎
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "鍏ュ簱鐢宠鍗�-鎵归噺鍒犻櫎")
+	@ApiOperation(value="鍏ュ簱鐢宠鍗�-鎵归噺鍒犻櫎", notes="鍏ュ簱鐢宠鍗�-鎵归噺鍒犻櫎")
+	//@RequiresPermissions("org.jeecg.modules:tms_inbound_order:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.inboundOrderService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+	}
+	
+	/**
+	 * 閫氳繃id鏌ヨ
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "鍏ュ簱鐢宠鍗�-閫氳繃id鏌ヨ")
+	@ApiOperation(value="鍏ュ簱鐢宠鍗�-閫氳繃id鏌ヨ", notes="鍏ュ簱鐢宠鍗�-閫氳繃id鏌ヨ")
+	@GetMapping(value = "/queryById")
+	public Result<InboundOrder> queryById(@RequestParam(name="id",required=true) String id) {
+		InboundOrder inboundOrder = inboundOrderService.getById(id);
+		if(inboundOrder==null) {
+			return Result.error("鏈壘鍒板搴旀暟鎹�");
+		}
+		return Result.OK(inboundOrder);
+	}
+
+    /**
+    * 瀵煎嚭excel
+    *
+    * @param request
+    * @param inboundOrder
+    */
+    //@RequiresPermissions("org.jeecg.modules:tms_inbound_order:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, InboundOrder inboundOrder) {
+        return super.exportXls(request, inboundOrder, InboundOrder.class, "鍏ュ簱鐢宠鍗�");
+    }
+
+    /**
+      * 閫氳繃excel瀵煎叆鏁版嵁
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("tms_inbound_order:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, InboundOrder.class);
+    }
+
+	 /**
+	  *  鎻愪氦
+	  *
+	  * @param id
+	  * @return
+	  */
+	 @AutoLog(value = "鍏ュ簱鐢宠鍗�-鎻愪氦")
+	 @GetMapping(value = "/submit")
+	 public Result<String> submit(@RequestParam(name = "id") String id) {
+		 inboundOrderService.submit(id);
+		 return Result.OK("鎻愪氦鎴愬姛!");
+	 }
+
+	 @AutoLog(value = "瀹℃壒娴佺▼")
+	 @ApiOperation(value = "鍏ュ簱鐢宠鍗�-瀹℃壒娴佺▼", notes = "鍏ュ簱鐢宠鍗�-瀹℃壒娴佺▼")
+	 @PostMapping("/approval")
+	 public Result<?> approval(@RequestBody InboundOrderFlowDto inboundOrderFlowDto) {
+		 inboundOrderService.approvalProcess(inboundOrderFlowDto);
+		 return Result.OK("鎿嶄綔鎴愬姛");
+	 }
+
+
+	 @AutoLog(value = "宸ュ叿鍏ュ簱-鏂板鍏ュ簱")
+	 @ApiOperation(value = "宸ュ叿鍏ュ簱-鏂板鍏ュ簱", notes = "宸ュ叿鍏ュ簱-鏂板鍏ュ簱")
+	 @PostMapping("/addInStorage")
+	 public Result<List<Map<String,String>>> addInStorage(@RequestBody JSONObject jSONObject) {
+		 List<Map<String,String>> result  = inboundOrderService.addInStorage(jSONObject);
+		return Result.OK(result);
+	 }
+
+	 @AutoLog(value = "宸ュ叿鍏ュ簱-鐢宠鍗曞叆搴�")
+	 @ApiOperation(value = "宸ュ叿鍏ュ簱-鐢宠鍗曞叆搴�", notes = "宸ュ叿鍏ュ簱-鐢宠鍗曞叆搴�")
+	 @PostMapping("/addApplyInStorage")
+	 public Result<List<Map<String,String>>> addApplyInStorage(@RequestBody JSONObject jSONObject) {
+		 List<Map<String,String>> result  = inboundOrderService.addApplyInStorage(jSONObject);
+		 return Result.OK(result);
+	 }
+
+}

--
Gitblit v1.9.3