|
@@ -0,0 +1,116 @@
|
|
|
+package com.zkqy.execution.produce.dispersed.service.impl.runbpm.smt;
|
|
|
+
|
|
|
+import cn.hutool.core.io.FileUtil;
|
|
|
+import cn.hutool.extra.qrcode.QrCodeUtil;
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.google.gson.Gson;
|
|
|
+import com.google.gson.reflect.TypeToken;
|
|
|
+import com.zkqy.common.config.ZkqyConfig;
|
|
|
+import com.zkqy.common.constant.Constants;
|
|
|
+import com.zkqy.common.core.domain.AjaxResult;
|
|
|
+import com.zkqy.common.utils.uuid.IdUtils;
|
|
|
+import com.zkqy.execution.produce.dispersed.entity.CommonEntity;
|
|
|
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFormFilterConditionsVo;
|
|
|
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFromVo;
|
|
|
+import com.zkqy.execution.produce.dispersed.entity.runbpm.IRunBPMEntity;
|
|
|
+import com.zkqy.execution.produce.dispersed.service.ICommonService;
|
|
|
+import com.zkqy.execution.produce.dispersed.service.IRunBPMService;
|
|
|
+import com.zkqy.execution.produce.utils.EchoNodeFormData;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.context.annotation.Scope;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.PreDestroy;
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 防错料-正常节点
|
|
|
+ */
|
|
|
+@Service("12f9e34d-5496-4787-8ae6-1cf59b2d29ae")
|
|
|
+@Scope("prototype")
|
|
|
+public class AntiErrorMaterial implements IRunBPMService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private EchoNodeFormData echoNodeFormData;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private ICommonService commonService;
|
|
|
+
|
|
|
+ //生成二维码
|
|
|
+ @Override
|
|
|
+ public CommonEntity getNodeFormData(BpmRunNodeFromVo bpmRunNodeFromVo) {
|
|
|
+ CommonEntity data = new CommonEntity();
|
|
|
+ List<Object> objectList = new ArrayList<>();
|
|
|
+
|
|
|
+ //查询计划详情,获取物料编号
|
|
|
+ CommonEntity commonEntity = new CommonEntity();
|
|
|
+ commonEntity.getBasicMap().put("tableName","plan_scheduling");
|
|
|
+ commonEntity.getConditionMap().put("p_id",bpmRunNodeFromVo.getTaskPlanKey());
|
|
|
+ CommonEntity planScheduling = commonService.getInfoById(commonEntity);
|
|
|
+ String[] materialIds = planScheduling.getResultMap().get("material_ids").toString().split(",", -1);
|
|
|
+
|
|
|
+
|
|
|
+ //循环生成二维码
|
|
|
+ for (String id : materialIds) {
|
|
|
+ //查询物料详情
|
|
|
+ CommonEntity commonEntity1 = new CommonEntity();
|
|
|
+ commonEntity1.getBasicMap().put("tableName","material");
|
|
|
+ commonEntity1.getConditionMap().put("id",Long.valueOf(id));
|
|
|
+ CommonEntity material = commonService.getInfoById(commonEntity1);
|
|
|
+
|
|
|
+ String partNo = material.getResultMap().get("part_no").toString();
|
|
|
+ String partName = material.getResultMap().get("part_name").toString();
|
|
|
+
|
|
|
+ //二维码内容
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ jsonObject.put("partNo",partNo);
|
|
|
+ jsonObject.put("partName",partName);
|
|
|
+
|
|
|
+ //上传文件路径
|
|
|
+ String uuid = IdUtils.fastUUID();
|
|
|
+ String filePath = ZkqyConfig.getUploadPath()+ "/" + "tdc/" + uuid + ".jpg";
|
|
|
+
|
|
|
+ //生成路径
|
|
|
+ String path = Constants.RESOURCE_PREFIX + "/" + "upload/tdc/";
|
|
|
+ String fileName = path + uuid + ".jpg";
|
|
|
+ QrCodeUtil.generate(jsonObject.toString(), 300, 300, FileUtil.file(filePath));
|
|
|
+ material.getResultMap().put("description",jsonObject.toString());
|
|
|
+ material.getResultMap().put("imageUrl",fileName);
|
|
|
+ objectList.add(material);
|
|
|
+
|
|
|
+ }
|
|
|
+ data.getResultMap().put("data",objectList);
|
|
|
+
|
|
|
+ return data;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult preValidation(IRunBPMEntity iRunBPMEntity) {
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult executeNode(IRunBPMEntity iRunBPMEntity) {
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult afterValidation(IRunBPMEntity iRunBPMEntity) {
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean isVerificationMethod() {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @PreDestroy
|
|
|
+ public boolean preDestroy() {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+}
|