From 2cf06285f64311722cbf79fd5635b16718635e5e Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 12 六月 2026 18:07:16 +0800
Subject: [PATCH] 不合格处理:支持多生产批次提交oa;oa流程查看调整
---
inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandlerFile.java | 6 +
inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml | 31 ++++++
inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java | 1
inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 5
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java | 1
inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java | 14 ++
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java | 6 +
inspect-server/src/main/java/com/ruoyi/inspect/dto/InsPlaceOrderDto.java | 3
ruoyi-admin-ztns/src/main/resources/application-ztns.yml | 3
inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java | 6 +
inspect-server/src/main/resources/mapper/InsOrderMapper.xml | 16 +++
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsUnqualifiedHandlerController.java | 23 ++--
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java | 5 +
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerFileServiceImpl.java | 4
inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsUnqualifiedHandlerMapper.java | 2
inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java | 1
inspect-server/src/main/java/com/ruoyi/inspect/dto/UnqualifiedHandlerDto.java | 3
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java | 143 +++++++++++++++------------
inspect-server/src/main/java/com/ruoyi/inspect/pojo/CommonOa.java | 5 +
inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnqualifiedHandlerService.java | 6
ruoyi-admin-ztns/src/main/resources/application-druid.yml | 3
ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java | 7 -
22 files changed, 201 insertions(+), 93 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
index 524e5d5..924b9e3 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
@@ -45,6 +45,7 @@
@Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
public void doAfterReturning(JoinPoint joinPoint) {
Object[] args = joinPoint.getArgs();
+ log.info("鎵ц鍚屾瀹炴椂搴撳瓨鍒癕ES,鍙傛暟锛歿}",args);
if(Objects.nonNull(args) && args.length>0) {
IfsInventoryQuantity ifsInventoryQuantity = BeanUtil.toBean(args[0], IfsInventoryQuantity.class);
if(Objects.nonNull(ifsInventoryQuantity) && ifsInventoryQuantity.getIsSplitOrder()==1){
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
index 217b5b3..f62e320 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -92,6 +92,12 @@
return Result.success(insOrderService.getInsOrder(orderId));
}
+ @ApiOperation(value = "鏌ヨ妫�楠屼笅鍗曞唴瀹硅鎯呭垪琛�")
+ @PostMapping("/getInsOrderList")
+ public Result<?> getInsOrderList(@RequestBody InsPlaceOrderDto insPlaceOrderDto) {
+ return Result.success(insOrderService.getInsOrderList(insPlaceOrderDto.getSelectOrderIds()));
+ }
+
@ApiOperation(value = "瀹℃牳妫�楠屽崟杩涜鐘舵�佷慨鏀�")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "妫�楠屽崟id", dataTypeClass = Integer.class),
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsUnqualifiedHandlerController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsUnqualifiedHandlerController.java
index dfcff39..af57065 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsUnqualifiedHandlerController.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/InsUnqualifiedHandlerController.java
@@ -1,7 +1,6 @@
package com.ruoyi.inspect.controller;
-import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.annotation.Anonymous;
@@ -46,6 +45,12 @@
return Result.success(unqualifiedHandlerService.pageList(page, unqualifiedHandlerDto));
}
+ @ApiOperation(value = "鏌ヨ涓嶅悎鏍煎鐞嗚褰�")
+ @GetMapping("/getList")
+ public Result getList(){
+ return Result.success(unqualifiedHandlerService.getList());
+ }
+
@ApiOperation(value = "闄勪欢涓婁紶")
@PostMapping("/uploadFileByUnqualified")
public Result<?> uploadFileByUnqualified(Long handlerId, MultipartFile file) {
@@ -57,14 +62,12 @@
@RequestMapping(value = "/callback", produces = "text/plain")
public String unqualifiedHandlerOACallback(String data){
String msg = OAProcess.oaReturnMsg(0, "success");
- JSONObject json = JSONObject.parseObject(data);
- log.info("oa鍥炶皟鍙傛暟========>" + json);
+ JSONObject response = JSONObject.parseObject(data);
+ log.info("oa鍥炶皟鍙傛暟========>" + response);
try {
- Long oaWorkId = json.getLong(REQUESTID);
- String checkResult = json.getString(CHECKRESULT);
- Object o = json.get("workflowRequestLogs");
- JSONArray objects = JSONArray.parseArray(JSONObject.toJSONString(o));
- unqualifiedHandlerService.unqualifiedHandlerOACallback(oaWorkId, checkResult,objects);
+ Long oaWorkId = response.getLong(REQUESTID);
+ String checkResult = response.getString(CHECKRESULT);
+ unqualifiedHandlerService.unqualifiedHandlerOACallback(oaWorkId, checkResult,response);
} catch (Exception e) {
log.error("oa鍥炶皟澶辫触: " + e.getMessage());
msg = OAProcess.oaReturnMsg(1, "oa鍥炶皟澶辫触: " + e.getMessage());
@@ -109,8 +112,8 @@
@ApiOperation(value = "鍒犻櫎涓嶅悎鏍煎鐞�")
@DeleteMapping("/deleteUnqualifiedHandler")
- public Result deleteUnqualifiedHandler(Integer id) {
- return Result.success(unqualifiedHandlerService.deleteUnqualifiedHandler(id));
+ public Result deleteUnqualifiedHandler(String groupId) {
+ return Result.success(unqualifiedHandlerService.deleteUnqualifiedHandler(groupId));
}
@ApiOperation(value = "涓嬭浇闄勪欢")
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/InsPlaceOrderDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/InsPlaceOrderDto.java
index 03c0cc6..eac5ab3 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/dto/InsPlaceOrderDto.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/InsPlaceOrderDto.java
@@ -24,4 +24,7 @@
@ApiModelProperty("閾滃崟涓濊鍗�")
private CopperInsOrderDto copperInsOrder;
+ @ApiModelProperty("閫変腑鐨勮鍗昳d鍒楄〃")
+ private List<Integer> selectOrderIds;
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java
index f84fba0..5f2a178 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/PushOADto.java
@@ -27,4 +27,10 @@
@ApiModelProperty(value = "IFS鍩�")
private String contract;
+ /**
+ * 鍒嗙粍id
+ */
+ @ApiModelProperty(value = "鍒嗙粍id")
+ private String groupId;
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/UnqualifiedHandlerDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/UnqualifiedHandlerDto.java
index 8594292..f57dbac 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/dto/UnqualifiedHandlerDto.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/UnqualifiedHandlerDto.java
@@ -165,4 +165,7 @@
@ApiModelProperty(value = "鐗╂枡灞炴��")
private String materialProp;
+ @ApiModelProperty("閫変腑鐨勮鍗昳d鍒楄〃")
+ private List<Integer> selectOrderIds;
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
index 59b8af7..804d7cf 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsOrderMapper.java
@@ -163,4 +163,5 @@
IfsOrderVO selectOrderInfoById(@Param("id") Integer id);
+ Map<String, Object> selectOrderInfoByIds(@Param("selectOrderIds") List<Integer> selectOrderIds);
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsUnqualifiedHandlerMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsUnqualifiedHandlerMapper.java
index 1314e58..a6dfcf2 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsUnqualifiedHandlerMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/InsUnqualifiedHandlerMapper.java
@@ -32,6 +32,8 @@
* @return
*/
List<CommonOa> getOaFlow(@Param("id") Integer id);
+
+ UnqualifiedHandlerVO findByGroupId(@Param("groupId") String groupId, @Param("handlerId") Long handlerId);
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CommonOa.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CommonOa.java
index 3d8abb5..54e3dc4 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CommonOa.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/CommonOa.java
@@ -22,6 +22,11 @@
private Long id;
/**
+ * 鑺傜偣id
+ */
+ private Long operateId;
+
+ /**
* 鑺傜偣鍚嶇О
*/
private String nodeName;
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java
index ff0ee98..4e5d574 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandler.java
@@ -52,7 +52,13 @@
* 鍒拌揣鏁伴噺
*/
@ApiModelProperty(value = "鍒拌揣鏁伴噺")
- private String cargoQuantity;
+ private Double cargoQuantity;
+
+ /**
+ * 閲囪喘鍗曚綅
+ */
+ @ApiModelProperty(value = "閲囪喘鍗曚綅")
+ private String buyUnitMeas;
/**
* 瑙勬牸鍨嬪彿
@@ -134,4 +140,10 @@
@ApiModelProperty("鏄惁鏄棫鏁版嵁")
private Boolean isOldData;
+ /**
+ * 鍒嗙粍id
+ */
+ @ApiModelProperty("鍒嗙粍id")
+ private String groupId;
+
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandlerFile.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandlerFile.java
index 326ddb9..d70373d 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandlerFile.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/InsUnqualifiedHandlerFile.java
@@ -29,6 +29,12 @@
private Long unqualifiedId;
/**
+ * 鍒嗙粍id
+ */
+ @ApiModelProperty(value = "鍒嗙粍id")
+ private String groupId;
+
+ /**
* 鏂囦欢绫诲瀷(1:鍥剧墖 2:鏂囦欢)
*/
@ApiModelProperty(value = "鏂囦欢绫诲瀷(1:鍥剧墖 2:鏂囦欢)")
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java
index ef8614b..9a86c66 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsOrderService.java
@@ -148,4 +148,5 @@
String moveRawMaterial(IfsInventoryQuantity one);
+ Map<String,Object> getInsOrderList(List<Integer> selectOrderIds);
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnqualifiedHandlerService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnqualifiedHandlerService.java
index 05d02bc..8e185f0 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnqualifiedHandlerService.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/InsUnqualifiedHandlerService.java
@@ -1,6 +1,7 @@
package com.ruoyi.inspect.service;
import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -26,7 +27,7 @@
Result pushOA(PushOADto pushOADto);
- void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONArray objects);
+ void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONObject response);
List<CommonOa> getOaFlow(Integer id);
@@ -36,8 +37,9 @@
UnqualifiedHandlerDto getUnqualifiedHandler(Integer id);
- boolean deleteUnqualifiedHandler(Integer id);
+ boolean deleteUnqualifiedHandler(String groupId);
void exportUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto, HttpServletResponse response);
+ List<Integer> getList();
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
index d4ad615..f3cdd3e 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -1285,6 +1285,11 @@
return toLocation;
}
+ @Override
+ public Map<String, Object> getInsOrderList(List<Integer> selectOrderIds) {
+ return insOrderMapper.selectOrderInfoByIds(selectOrderIds);
+ }
+
/**
* 鍏堜慨鏀归噰璐鍗曟壒娆″彿, 鍚庤繘琛岀Щ搴撴搷浣�
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerFileServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerFileServiceImpl.java
index 28236fa..7db73b9 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerFileServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerFileServiceImpl.java
@@ -40,21 +40,17 @@
String urlString;
String pathName;
String path;
- String prefix;
String filename = file.getOriginalFilename();
String contentType = file.getContentType();
InsUnqualifiedHandlerFile unqualifiedHandlerFile = new InsUnqualifiedHandlerFile();
-// unqualifiedHandlerFile.setUnqualifiedId(handlerId);
unqualifiedHandlerFile.setFileName(filename);
if (contentType != null && contentType.startsWith("image/")) {
// 鏄浘鐗�
path = imgUrl;
- prefix = "/image/";
unqualifiedHandlerFile.setType(1);
} else {
// 鏄枃浠�
path = wordUrl;
- prefix = "/word/";
unqualifiedHandlerFile.setType(2);
}
try {
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
index fd57189..c2ad66c 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsUnqualifiedHandlerServiceImpl.java
@@ -15,22 +15,26 @@
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.enums.ContractType;
+import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.common.oa.OAProcess;
import com.ruoyi.common.oa.OAProperty;
import com.ruoyi.common.oa.OAResult;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.PushOADto;
import com.ruoyi.inspect.dto.UnqualifiedHandlerDto;
import com.ruoyi.inspect.excel.InsUnqualifiedHandlerExcelData;
import com.ruoyi.inspect.mapper.InsOrderMapper;
+import com.ruoyi.inspect.mapper.InsSampleMapper;
import com.ruoyi.inspect.mapper.InsUnqualifiedHandlerMapper;
import com.ruoyi.inspect.pojo.CommonOa;
import com.ruoyi.inspect.pojo.InsOrder;
import com.ruoyi.inspect.pojo.InsUnqualifiedHandler;
import com.ruoyi.inspect.pojo.InsUnqualifiedHandlerFile;
import com.ruoyi.inspect.service.CommonOaService;
+import com.ruoyi.inspect.service.InsOrderService;
import com.ruoyi.inspect.service.InsUnqualifiedHandlerFileService;
import com.ruoyi.inspect.service.InsUnqualifiedHandlerService;
import com.ruoyi.inspect.vo.UnqualifiedHandlerVO;
@@ -46,10 +50,7 @@
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -69,9 +70,11 @@
@Resource
private InsUnqualifiedHandlerFileService insUnqualifiedHandlerFileService;
@Resource
- private InsOrderMapper insOrderMapper;
+ private InsSampleMapper insSampleMapper;
@Resource
private ISysDictTypeService sysDictTypeService;
+ @Resource
+ private NumberGenerator<InsUnqualifiedHandler> insUnqualifiedHandlerNumberGenerator;
@Override
@@ -122,30 +125,22 @@
}
@Override
+ public List<Integer> getList() {
+ return baseMapper.selectList(null).stream().map(InsUnqualifiedHandler::getInsOrderId).collect(Collectors.toList());
+ }
+
+ @Override
public Result pushOA(PushOADto pushOADto) {
//鑾峰彇涓嶅悎鏍煎鐞嗚褰�
- UnqualifiedHandlerVO vo = baseMapper.findById(pushOADto.getHandlerId());
+ UnqualifiedHandlerVO vo = baseMapper.findByGroupId(pushOADto.getGroupId(),pushOADto.getHandlerId());
//鎻愪氦oa鐩稿叧瀛楁璧嬪��
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
Map<String, String> mainFields = new HashMap<>();
-// mainFields.put("bh", vo.getNo());//缂栧彿
-// mainFields.put("gysmc", vo.getSupplierName());//渚涘簲鍟嗗悕绉�
-// mainFields.put("wlmc", vo.getMaterialName());//鐗╂枡鍚嶇О
-// mainFields.put("scpc", vo.getProductionBatch());//鐢熶骇鎵规
-// mainFields.put("dhsl", vo.getCargoQuantity());//鍒拌揣鏁伴噺
-// mainFields.put("ggxh", vo.getSpecsModels());//瑙勬牸鍨嬪彿
-// mainFields.put("bjrq", vo.getInspectTime().format(formatter));//鎶ユ鏃ユ湡
-// mainFields.put("fkr", SecurityUtils.getUsername());//鍙嶉浜�
-// mainFields.put("fkrq", vo.getFeedbackTime().format(formatter));//鍙嶉鏃ユ湡
-// mainFields.put("fl", vo.getClassification());//鍒嗙被
-// mainFields.put("bhggs", vo.getOffGradeAscription());//涓嶅悎鏍煎綊灞�
-// mainFields.put("bhgqkms", vo.getUnqualifiedDesc());//涓嶅悎鏍兼儏鍐垫弿杩�
-// mainFields.put("bh", vo.getNo());//缂栧彿
mainFields.put("gysmcsuppliername", vo.getSupplierName());//渚涘簲鍟嗗悕绉�
mainFields.put("wlmcmaterialname", vo.getMaterialName());//鐗╂枡鍚嶇О
mainFields.put("scpcproductionbatch", vo.getProductionBatch());//鐢熶骇鎵规
- mainFields.put("dhslcargoquantity", vo.getCargoQuantity());//鍒拌揣鏁伴噺
+ mainFields.put("dhslcargoquantity", vo.getCargoQuantity() + vo.getBuyUnitMeas());//鍒拌揣鏁伴噺
mainFields.put("ggxhspecificationsmodels", vo.getSpecsModels());//瑙勬牸鍨嬪彿
mainFields.put("bjrqdeclarationinspectdate", vo.getInspectTime().format(formatter));//鎶ユ鏃ユ湡
mainFields.put("fkrprovideroffeedback", SecurityUtils.getUsername());//鍙嶉浜�
@@ -177,21 +172,16 @@
boolean oa = false;
try {
log.info("鍙戣捣涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼");
- //鏍规嵁IFS鍩熻幏鍙栧搴旂殑娴佺▼id
- if(StringUtils.isBlank(pushOADto.getContract())){
- throw new RuntimeException("IFS鍩熴��"+pushOADto.getContract()+"銆戜笉瀛樺湪锛孫A娴佺▼鎻愪氦澶辫触");
- }
- String unqualifiedProcessId = StringUtils.equals(ContractType.ZTNS.getValue(),pushOADto.getContract())?oaProperty.getUnqualifiedProcessId():oaProperty.getUnqualifiedProcessIdByKJNS();
- log.info("涓嶅悎鏍兼祦绋嬭姹傚弬鏁�:{},{},{},{}",mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername());
+ String unqualifiedProcessId = oaProperty.getUnqualifiedProcessId();
OAResult oaResult = OAProcess.start(mainFields, requestName, unqualifiedProcessId,SecurityUtils.getUsername());
- log.info("涓嶅悎鏍兼祦绋婭D:{},涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼缁撴潫锛岃繑鍥炵粨鏋�->{}",unqualifiedProcessId,oaResult);
+ log.info("涓嶅悎鏍兼祦绋婭D:{},涓嶅悎鏍煎鐞哋A瀹℃牳娴佺▼鍙戣捣鎴愬姛->{}",unqualifiedProcessId,oaResult);
oa = oaResult.success();
if (oa) {
String addWorkflowResult = oaResult.getAddWorkflowResult();
baseMapper.update(null, new LambdaUpdateWrapper<InsUnqualifiedHandler>()
.set(InsUnqualifiedHandler::getRequestId, addWorkflowResult)
.set(InsUnqualifiedHandler::getOaState, 2)
- .eq(InsUnqualifiedHandler::getId, pushOADto.getHandlerId()));
+ .eq(InsUnqualifiedHandler::getGroupId, pushOADto.getGroupId()));
} else {
return Result.fail("鎻愪氦oa澶辫触: " + oaResult.getErrorMsg());
}
@@ -203,47 +193,67 @@
@Override
@Transactional(rollbackFor = Exception.class)
- public void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONArray objects) {
+ public void unqualifiedHandlerOACallback(Long oaWorkId, String checkResult, JSONObject response) {
// 娌℃湁杩欎釜灏辩粨鏉�
Long count1 = baseMapper.selectCount(Wrappers.<InsUnqualifiedHandler>lambdaQuery()
.eq(InsUnqualifiedHandler::getRequestId, Integer.valueOf(String.valueOf(oaWorkId))));
if (count1 == 0) {
return;
}
-
+ //澶勭悊鎺柦map
+ Map<String, String> clcsMap = new HashMap<>();
+ clcsMap.put("0","璁╂鏀捐");
+ clcsMap.put("1","閫�璐�");
+ clcsMap.put("2","閮ㄥ垎閫�璐�");
+ clcsMap.put("3","闄嶇骇浣跨敤");
//oa鐘舵�侊細3閫氳繃 4椹冲洖
Integer oaState = "1".equals(checkResult) ? 3 : 4;
baseMapper.update(null, new LambdaUpdateWrapper<InsUnqualifiedHandler>()
.set(InsUnqualifiedHandler::getOaState, oaState)
- .ge(InsUnqualifiedHandler::getRequestId, Integer.valueOf(String.valueOf(oaWorkId))));
+ .set(InsUnqualifiedHandler::getClassification,response.getString("flclassification"))
+ .eq(InsUnqualifiedHandler::getRequestId, Integer.valueOf(String.valueOf(oaWorkId))));
//淇濆瓨oa瀹℃壒娴佺▼璁板綍
List<CommonOa> commonOaList = new ArrayList<>();
- objects.forEach(l -> {
- JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(l));
+ JSONArray workflowRequestLogs = JSONArray.parseArray(JSONObject.toJSONString(response.get("workflowRequestLogs")));
+ for (Object workflowRequestLog : workflowRequestLogs) {
+ JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(workflowRequestLog));
CommonOa oa = new CommonOa();
oa.setApprover(jsonObject.getString("operatorName"));
+ oa.setOperateId(jsonObject.getLong("operateId"));
oa.setWorkflowId(oaWorkId);
oa.setOperation(jsonObject.getString("operateType"));
oa.setApprovalDate(jsonObject.getString("operateDate"));
- oa.setApprovalOpinion(jsonObject.getString("remark"));
oa.setNodeName(jsonObject.getString("nodeName"));
oa.setApprovalTime(jsonObject.getString("operateTime"));
+ //璁剧疆鍚勮妭鐐圭殑澶勭悊鎰忚
+ if(StringUtils.isNotBlank(oa.getNodeName())){
+ if(oa.getNodeName().contains("璐ㄩ噺")){
+ oa.setOperation(clcsMap.get(response.getString("clcs1")));
+ oa.setApprovalOpinion(response.getString("dbhgcpdclyqdealwiththenonconfo"));//1.瀵逛笉鍚堟牸浜у搧鐨勫鐞嗚姹�
+ }else if(oa.getNodeName().contains("宸ヨ壓")){
+ oa.setApprovalOpinion(response.getString("gjyqimprovementrequirements"));//2.鏀硅繘瑕佹眰
+ }else if(oa.getNodeName().contains("鎶�鏈�")){
+ oa.setOperation(clcsMap.get(response.getString("clcs2")));
+ oa.setApprovalOpinion(response.getString("csyqactionrequirement"));//3.鎺柦瑕佹眰
+ }else if(oa.getNodeName().contains("鎬荤粡鐞�")){
+ oa.setOperation(clcsMap.get(response.getString("clcs3")));
+ oa.setApprovalOpinion(response.getString("zzclyqfinaltreatmentrequiremen"));//4.鏈�缁堝鐞嗚姹�
+ }else if(oa.getNodeName().contains("鏍哥畻")){
+ oa.setApprovalOpinion(response.getString("spyqcompensationrequirement"));//5.绱㈣禂瑕佹眰
+ }else{
+ oa.setApprovalOpinion(jsonObject.getString("remark"));
+ }
+ }
//鏌ヨ鍒ゆ柇涔嬪墠鏄惁娣诲姞杩�
long count = commonOaService.count(Wrappers.<CommonOa>lambdaQuery()
- .eq(CommonOa::getApprover, oa.getApprover())
- .eq(CommonOa::getWorkflowId, oa.getWorkflowId())
- .eq(CommonOa::getOperation, oa.getOperation())
- .eq(CommonOa::getApprovalDate, oa.getApprovalDate())
- .eq(CommonOa::getApprovalOpinion, oa.getApprovalOpinion())
- .eq(CommonOa::getNodeName, oa.getNodeName())
- .eq(CommonOa::getApprovalTime, oa.getApprovalTime())
- );
+ .eq(CommonOa::getWorkflowId, oaWorkId)
+ .eq(CommonOa::getOperateId, oa.getOperateId()));
// 娌℃湁閲嶅娣诲姞
if (count == 0) {
commonOaList.add(oa);
}
- });
+ }
commonOaService.saveBatch(commonOaList);
}
@@ -266,28 +276,34 @@
@Override
@Transactional(rollbackFor = Exception.class)
public boolean addUnqualifiedHandler(UnqualifiedHandlerDto unqualifiedHandlerDto) {
- if (unqualifiedHandlerDto.getInventoryQuantityId() == null) {
- throw new ErrorException("缂哄皯鍘熸潗鏂檌d");
- }
long count = this.count(Wrappers.<InsUnqualifiedHandler>lambdaQuery()
- .eq(InsUnqualifiedHandler::getInsOrderId, unqualifiedHandlerDto.getInsOrderId()));
+ .in(InsUnqualifiedHandler::getInsOrderId, unqualifiedHandlerDto.getSelectOrderIds()));
if (count > 0) {
- throw new ErrorException("褰撳墠妫�楠屽崟宸叉彁浜よ繃涓嶅悎鏍�");
+ throw new ErrorException("瀛樺湪宸叉彁浜よ繃涓嶅悎鏍煎鐞嗙殑璁㈠崟");
}
+ //鐢熸垚鍒嗙粍id
+ String groupId = insUnqualifiedHandlerNumberGenerator.generateNumberWithPrefix(6, "GROUP", InsUnqualifiedHandler::getGroupId);
// 鍘熸潗鏂欑紪鍙峰垏鍓�
- InsOrder order = insOrderMapper.selectOne(Wrappers.<InsOrder>lambdaQuery()
- .eq(InsOrder::getId, unqualifiedHandlerDto.getInsOrderId())
- .select(InsOrder::getEntrustCode));
- unqualifiedHandlerDto.setNo(order.getEntrustCode());
+ for (Integer selectOrderId : unqualifiedHandlerDto.getSelectOrderIds()) {
+ InsUnqualifiedHandler insUnqualifiedHandler = new InsUnqualifiedHandler();
+ BeanUtils.copyProperties(unqualifiedHandlerDto, insUnqualifiedHandler);
+ Map<String, Object> orderMap = insSampleMapper.selectInsOrder(selectOrderId);
+ insUnqualifiedHandler.setNo(orderMap.get("entrustCode").toString());
+ insUnqualifiedHandler.setInventoryQuantityId(Integer.valueOf(orderMap.get("inventoryQuantityId").toString()));
+ insUnqualifiedHandler.setInsOrderId(selectOrderId);
+ insUnqualifiedHandler.setGroupId(groupId);
+ insUnqualifiedHandler.setProductionBatch(orderMap.get("updateBatchNo").toString());
+ insUnqualifiedHandler.setCargoQuantity(Double.parseDouble(orderMap.get("qtyArrived").toString()));
+ insUnqualifiedHandler.setBuyUnitMeas(orderMap.get("buyUnitMeas").toString());
- this.save(unqualifiedHandlerDto);
- if (CollectionUtils.isNotEmpty(unqualifiedHandlerDto.getUnqualifiedHandlerFiles())) {
- for (InsUnqualifiedHandlerFile unqualifiedHandlerFile : unqualifiedHandlerDto.getUnqualifiedHandlerFiles()) {
- unqualifiedHandlerFile.setUnqualifiedId(unqualifiedHandlerDto.getId());
+ this.save(insUnqualifiedHandler);
+ if (CollectionUtils.isNotEmpty(unqualifiedHandlerDto.getUnqualifiedHandlerFiles())) {
+ for (InsUnqualifiedHandlerFile unqualifiedHandlerFile : unqualifiedHandlerDto.getUnqualifiedHandlerFiles()) {
+ unqualifiedHandlerFile.setGroupId(insUnqualifiedHandler.getGroupId());
+ }
+ insUnqualifiedHandlerFileService.updateBatchById(unqualifiedHandlerDto.getUnqualifiedHandlerFiles());
}
- insUnqualifiedHandlerFileService.updateBatchById(unqualifiedHandlerDto.getUnqualifiedHandlerFiles());
}
-
return true;
}
@@ -331,22 +347,21 @@
BeanUtil.copyProperties(insUnqualifiedHandler, unqualifiedHandlerDto);
// 鏌ョ湅闄勪欢
List<InsUnqualifiedHandlerFile> list = insUnqualifiedHandlerFileService.list(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
- .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, unqualifiedHandlerDto.getId()));
+ .eq(InsUnqualifiedHandlerFile::getGroupId, unqualifiedHandlerDto.getGroupId()));
unqualifiedHandlerDto.setUnqualifiedHandlerFiles(list);
return unqualifiedHandlerDto;
}
/**
* 鍒犻櫎涓嶅悎鏍�
- * @param id
+ * @param groupId
* @return
*/
@Override
- public boolean deleteUnqualifiedHandler(Integer id) {
+ public boolean deleteUnqualifiedHandler(String groupId) {
insUnqualifiedHandlerFileService.remove(Wrappers.<InsUnqualifiedHandlerFile>lambdaQuery()
- .eq(InsUnqualifiedHandlerFile::getUnqualifiedId, id));
- this.removeById(id);
- return true;
+ .eq(InsUnqualifiedHandlerFile::getGroupId, groupId));
+ return this.remove(Wrappers.<InsUnqualifiedHandler>lambdaQuery().eq(InsUnqualifiedHandler::getGroupId, groupId));
}
}
diff --git a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
index e7dd51e..50e8de1 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -618,4 +618,20 @@
AND io.id = #{id}
LIMIT 1
</select>
+ <select id="selectOrderInfoByIds" resultType="java.util.Map">
+ select
+ io.sample_type AS sampleType,
+ io.part_detail AS partDetail,
+ GROUP_CONCAT(iiq.update_batch_no SEPARATOR '銆�') AS updateBatchNo,
+ SUM(iiq.pur_qty_in_store) AS qtyArrived,
+ iiq.buy_unit_meas AS buyUnitMeas,
+ iiq.supplier_name AS supplierName,
+ DATE_FORMAT(io.send_time,'%Y-%m-%d') AS sendTime
+ from ins_order io left join ifs_inventory_quantity iiq on io.ifs_inventory_id=iiq.id
+ where io.state !=-1
+ AND io.id in
+ <foreach collection="selectOrderIds" separator="," item="id" open="(" close=")">
+ #{id}
+ </foreach>
+ </select>
</mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index 84d7228..eb6f9ec 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -486,7 +486,7 @@
ifs.supplier_id AS supplierId,
ifs.supplier_name AS supplierName,
ifs.part_no AS partNo,
- ifs.qty_arrived AS qtyArrived,
+ ifs.pur_qty_in_store AS qtyArrived,
ifs.receiver_date AS receiverDate,
ifs.update_batch_no AS updateBatchNo,
ifs.part_desc AS partDesc,
@@ -496,7 +496,8 @@
ifs.buy_unit_meas buyUnitMeas,
io.test_quantity testQuantity,
ifs.buy_unit_meas buyUnitMeas,
- ifs.declare_date declareDate
+ ifs.declare_date declareDate,
+ io.entrust_code AS entrustCode
FROM ifs_inventory_quantity ifs
LEFT JOIN ins_order io ON ifs.id = io.ifs_inventory_id
WHERE io.id = #{id}
diff --git a/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml b/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml
index d4b8e4a..e1edf4c 100644
--- a/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsUnqualifiedHandlerMapper.xml
@@ -95,6 +95,7 @@
iuh.headline,
iuh.ins_order_id,
iuh.is_old_data,
+ iuh.group_id,
coa.operation
from
ins_unqualified_handler iuh
@@ -163,4 +164,34 @@
and operation != '鎶勯��'
group by co.node_name
</select>
+ <select id="findByGroupId" resultType="com.ruoyi.inspect.vo.UnqualifiedHandlerVO">
+ select
+ iuh.id as handler_id,
+ iuh.no,
+ iuh.headline,
+ iuh.material_name,
+ GROUP_CONCAT(iuh.production_batch SEPARATOR '銆�') AS production_batch,
+ SUM(iuh.cargo_quantity) AS cargo_quantity,
+ iuh.buy_unit_meas,
+ iuh.specs_models,
+ iiq.supplier_name,
+ iuh.inspect_time,
+ iuh.feedback_user,
+ iuh.feedback_time,
+ iuh.classification,
+ iuh.off_grade_ascription,
+ iuh.unqualified_desc,
+ iuh.inventory_quantity_id,
+ iuh.request_id,
+ iuh.oa_state,
+ iuh.file_url,
+ iuh.group_id
+ from
+ ins_unqualified_handler iuh
+ inner join
+ ifs_inventory_quantity iiq on iuh.inventory_quantity_id = iiq.id
+ where iuh.group_id=#{groupId}
+ group by iuh.group_id
+ limit 1
+ </select>
</mapper>
diff --git a/ruoyi-admin-ztns/src/main/resources/application-druid.yml b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
index 9ddd314..a7c2b1d 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-druid.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-druid.yml
@@ -131,8 +131,7 @@
oa:
oaHost:
prodIp:
- unqualifiedProcessId: 1
- unqualifiedProcessIdByKJNS: 2 #KJNS鍩烵A娴佺▼id
+ unqualifiedProcessId: 1 #OA娴佺▼id
# 浜轰簨绯荤粺
personnel:
diff --git a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
index 7458948..9ac977f 100644
--- a/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
+++ b/ruoyi-admin-ztns/src/main/resources/application-ztns.yml
@@ -132,8 +132,7 @@
oa:
oaHost: http://192.168.0.49:8000/oa_workflowrequest.asmx?wsdl
prodIp: http://192.168.21.53:7002/lims
- unqualifiedProcessId: 898113 #ZTNS鍩烵A娴佺▼id
- unqualifiedProcessIdByKJNS: 898113 #KJNS鍩烵A娴佺▼id
+ unqualifiedProcessId: 898113 #OA娴佺▼id
# 浼佷笟寰俊鎺ㄩ��
wechat:
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java b/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
index 072e7be..60ce2ac 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/oa/OAProperty.java
@@ -23,14 +23,9 @@
private String prodIp;
/**
- * 涓ぉ鑰愪笣锛氫笉鍚堟牸瀹℃壒oa鐨刬d
+ * 涓嶅悎鏍煎鎵筼a鐨刬d
*/
private String unqualifiedProcessId;
-
- /**
- * 涓ぉ绉戞妧锛氫笉鍚堟牸瀹℃壒oa鐨刬d
- */
- private String unqualifiedProcessIdByKJNS;
}
--
Gitblit v1.9.3