Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

姜永辉 3 лет назад
Родитель
Сommit
8e38fead9d

+ 14 - 0
src/main/java/com/dk/mdm/controller/mst/ModelMouldController.java

@@ -106,4 +106,18 @@ public class ModelMouldController{
     public ResponseResultVO<Boolean> enable(@PathVariable Long id) {
         return this.getService().enable(id);
     }
+
+    /**
+     * @desc   : 模具型号变更
+     * @author : 姜宁
+     * @date   : 2023/3/29 14:38
+     */
+    @ApiOperation(
+            value = "模具型号变更",
+            notes = "模具型号变更"
+    )
+    @PostMapping("model_mould_change")
+    public ResponseResultVO<?> modelMouldChange(@Valid @RequestBody ModelMouldVO modelMouldVO) {
+        return modelMouldService.modelMouldChange(modelMouldVO);
+    }
 }

+ 18 - 1
src/main/java/com/dk/mdm/controller/pdm/ProcessFlowController.java

@@ -14,6 +14,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
+import java.util.UUID;
 
 @Api(tags = "工艺流程API接口")
 @RestController
@@ -93,10 +95,25 @@ public class ProcessFlowController {
         return processFlowService.update(processFlowVO);
     }
 
-
+    /**
+     * @desc   : 流程设置
+     * @author : 张潇木
+     * @date   : 2023/2/3 8:56
+     */
     @ApiOperation(value = "流程设置",notes = "流程设置")
     @PostMapping("process_setting")
     public ResponseResultVO<Boolean> processSetting(@Valid @RequestBody ProcessFlowVO processFlowVO) {
         return processFlowService.processSetting(processFlowVO);
     }
+
+    /**
+     * @desc   : 查询绑定成型线
+     * @author : 张潇木
+     * @date   : 2023/3/29 13:47
+     */
+    @ApiOperation(value = "查询绑定成型线",notes = "查询绑定成型线")
+    @PostMapping("get_bind_molding")
+    public ResponseResultVO getBindMolding(@RequestBody List<UUID> nodeIds) {
+        return processFlowService.getBindMolding(nodeIds);
+    }
 }

+ 4 - 0
src/main/java/com/dk/mdm/mapper/app/mst/AppMouldCheckItemMapper.java

@@ -7,6 +7,7 @@ import com.dk.mdm.model.app.query.AppMouldCheckQuery;
 import com.dk.mdm.model.app.response.AppMouldCheckItemResponse;
 import com.dk.mdm.model.app.response.AppMouldCheckResponse;
 import com.dk.mdm.model.app.vo.mst.AppMouldCheckItemVo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -55,5 +56,8 @@ public interface AppMouldCheckItemMapper extends BaseMapper<AppMouldCheckItem> {
      * @date : 2023/2/16 16:07
      */
     int updateCheckItemInventoryLoss(AppMouldCheckItemQuery appMouldCheckItemQuery);
+
+    boolean setMouldScrap(@Param("userId")Integer userId, @Param("ftyId") Integer ftyId, @Param("mouldId")Long mouldId);
+
 }
 

+ 4 - 0
src/main/java/com/dk/mdm/mapper/app/mst/AppMouldCheckItemMapper.xml

@@ -330,4 +330,8 @@
     <update id="updateCheckItemInventoryLoss">
         update mst.t_mould_check_item set check_kind = #{checkKind}  , check_time = #{checkTime},check_user_id = #{checkUserId} WHERE check_id = #{checkId}
     </update>
+
+    <select id="setMouldScrap" resultType="boolean">
+        select mst.f_mould_scrap(#{userId},#{ftyId},#{mouldId});
+    </select>
 </mapper>

+ 8 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -1609,6 +1609,14 @@
     <select id="getTeamStaff" resultType="java.util.Map">
         select ts.staff_id as "staffId", ts.staff_code as "staffCode", ts.staff_name as "staffName",
         ts.job_id as "jobId", tj.job_name as "jobName"
+        <if test="userId!=null">
+            ,
+            (
+                select 1 from core.t_work_team twt2
+                where twt2.user_id = #{userId} and twt2.staff_id = ts.staff_id
+                and twt2.flg_valid and twt2.fty_id = #{ftyId}
+            ) is not null as "defaultFlag"
+        </if>
         from core.t_staff ts
         left join core.t_job AS tj on ts.job_id = tj.job_id
         where exists(

+ 1 - 1
src/main/java/com/dk/mdm/mapper/pdm/CollectMapper.xml

@@ -106,7 +106,7 @@
         WHERE (
                       n.cnt_job_defect = 0
                       OR EXISTS(SELECT 1
-                                FROM pdm.t_process_node_defect T
+                                FROM pdm.t_process_node_job_defect T
                                 WHERE T.node_id = n.node_id
                                   AND T.pdt_defect_id = #{pdtDefectId})
                   )

+ 2 - 3
src/main/java/com/dk/mdm/model/app/query/AppMouldCheckItemQuery.java

@@ -21,7 +21,7 @@ import java.io.Serializable;
 import java.time.LocalDateTime;
 
 /**
- *  模具盘点明细
+ * 模具盘点明细
  */
 @Data
 @AllArgsConstructor
@@ -30,7 +30,7 @@ import java.time.LocalDateTime;
 @Accessors(chain = true)
 @ExportTitle("模具盘点明细")
 @TableName(value = "t_mould_check_item", autoResultMap = true)
-@ApiModel(value="实体类:模具盘点明细", description="表名:t_mould_check_item")
+@ApiModel(value = "实体类:模具盘点明细", description = "表名:t_mould_check_item")
 public class AppMouldCheckItemQuery extends PageInfo<AppMouldCheckItemQuery> implements Serializable {
 
     /*
@@ -231,7 +231,6 @@ public class AppMouldCheckItemQuery extends PageInfo<AppMouldCheckItemQuery> imp
      * @TableField(exist = false)
      */
 
-
     private static final long serialVersionUID = 1L;
 
 }

+ 7 - 0
src/main/java/com/dk/mdm/service/app/mst/AppMouldCheckItemService.java

@@ -180,10 +180,17 @@ public class AppMouldCheckItemService extends BaseService<AppMouldCheckItem> {
                     AppMouldResponse appMouldResponse = appMouldResponses.get(0);
                     //[在产] 或[已报废]的模具不能直接报废
                     if (appMouldResponse.getMouldKind().equals(Constant.AppMouldConstant.MOLD_STATUS_IN_LIBRARY.getName())) {
+                        boolean result = appMouldCheckItemMapper.setMouldScrap(appMouldCheckItemQuery.getCheckUserId(), appMouldResponse.getFtyId(), appMouldResponse.getUniqueId());
+                        if (!result) {
+                            // 不符合报损
+                            return ResponseResultUtil.error(ErrorCodeEnum.MOLD_MOULD_NOT_IN_LIBRARY_STATE.getCode(),
+                                    ErrorCodeEnum.MOLD_MOULD_NOT_IN_LIBRARY_STATE.getMessage());
+                        }
                         //执行操作  修改盘点明细为 盘点状态-亏
                         appMouldCheckItemQuery.setCheckKind(Constant.AppMouldCheckConstant.CHECK_LOSS.getName());
                         appMouldCheckItemQuery.setCheckTime(LocalDateTime.now());
                         appMouldCheckItemMapper.updateCheckItemInventoryLoss(appMouldCheckItemQuery);
+
                     } else {
                         throw new BaseBusinessException(ErrorCodeEnum.APP_MOLD_CHECK_ITEM_LOSS.getCode(), ErrorCodeEnum.APP_MOLD_CHECK_ITEM_LOSS.getMessage());
                     }

+ 2 - 5
src/main/java/com/dk/mdm/service/app/pdm/AppProdCheckItemService.java

@@ -74,8 +74,8 @@ public class AppProdCheckItemService extends BaseService<AppProdCheckItem> {
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO insertCheck(AppProdCheckItemVo appProdCheckItemVo) {
 
-        // 查询盘点单 是否过期
-        AppProdCheckResponse prodCheckResponse = appProdCheckMapper.selectByCheckId(new AppProdCheckQuery().setCheckId(appProdCheckItemVo.getCheckId()));
+        // TODO 查询盘点单 是否过期
+        //AppProdCheckResponse prodCheckResponse = appProdCheckMapper.selectByCheckId(new AppProdCheckQuery().setCheckId(appProdCheckItemVo.getCheckId()));
         //盘点是否有完成结束日期
         if(appProdCheckItemVo.getFinishTimeEnd() != null ){
             //比较  当前时间 在 完成的时间 之后  返回的类型是Boolean类型
@@ -84,9 +84,6 @@ public class AppProdCheckItemService extends BaseService<AppProdCheckItem> {
                 throw new BaseBusinessException(ErrorCodeEnum.APP_PROD_CHECK_IS_LOSS.getCode(), ErrorCodeEnum.APP_PROD_CHECK_IS_LOSS.getMessage());
             }
         }
-
-
-
         //查询已有未盘点数据
         ResponseResultVO<PageList<AppProdCheckItemResponse>> pageListResponseResultVO =
                 this.selectByCond(new AppProdCheckItemQuery().setCheckId(appProdCheckItemVo.getCheckId())

+ 40 - 0
src/main/java/com/dk/mdm/service/mst/ModelMouldService.java

@@ -134,4 +134,44 @@ public class ModelMouldService extends BaseService<ModelMould> {
 	public ResponseResultVO selectById(Integer id) {
 		return ResponseResultUtil.success(modelMouldMapper.getById(id));
 	}
+
+	/**
+	 * @desc   : 模具型号变更
+	 * @author : 姜宁
+	 * @date   : 2023/3/29 14:40
+	 */
+	@Transactional(
+			rollbackFor = {Exception.class}
+	)
+	public ResponseResultVO<Boolean> modelMouldChange(ModelMouldVO modelMouldVO) {
+		// 校验编码
+		Integer count = modelMouldMapper.checkByCode(modelMouldVO);
+		if (count!=null) {
+			return ResponseResultUtil.error(ErrorCodeEnum.MODEL_CODE_EXIST.getCode(),
+					ErrorCodeEnum.MODEL_CODE_EXIST.getMessage());
+		}
+
+		// 产出数量可以变大,不能改小
+		ModelMouldResponse model = modelMouldMapper.getById(modelMouldVO.getModelId());
+		if (model.getOutputQty() > modelMouldVO.getOutputQty()) {
+			return ResponseResultUtil.error(ErrorCodeEnum.MODEL_OUT_PUT_QTY_UPDATE_SMALLER.getCode(),
+					ErrorCodeEnum.MODEL_OUT_PUT_QTY_UPDATE_SMALLER.getMessage());
+		}
+
+		// 保存
+		ModelMould modelMould = modelMouldConvert.convertToPo(modelMouldVO);
+		super.update(modelMould);
+
+		//保存产出型号
+		modelMouldOutputMapper.deleteByModel(modelMould.getModelId());
+
+		List<ModelMouldOutput> modelMouldOutputs = modelMouldOutputConvert.convertToPo(modelMouldVO.getMouldOutputList());
+		modelMould.setOutputData(modelMouldOutputs);
+		if (modelMouldOutputs.size()>0) {
+			modelMouldOutputMapper.insertBatch(modelMouldOutputs);
+		}
+
+		return ResponseResultUtil.success();
+	}
+
 }

+ 1 - 1
src/main/java/com/dk/mdm/service/mst/MouldCheckItemService.java

@@ -92,7 +92,7 @@ public class MouldCheckItemService extends BaseService<MouldCheckItem> {
         }
         int res = mouldCheckItemMapper.checkByMouldCode(user.getUserId(), checkId, mouldCode);
         if (res > 0) {
-            ResponseResultUtil.success();
+            return ResponseResultUtil.success();
         }
 
         //不在未盘点中,验证是否需要盘盈

+ 23 - 8
src/main/java/com/dk/mdm/service/pdm/ProcessFlowService.java

@@ -2,6 +2,7 @@ package com.dk.mdm.service.pdm;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.infrastructure.constant.Constant;
 import com.dk.common.infrastructure.enums.ErrorCodeEnum;
@@ -12,7 +13,9 @@ import com.dk.common.response.ResponseResultVO;
 import com.dk.common.service.BaseService;
 import com.dk.mdm.domain.ProcessSettingDomainService;
 import com.dk.mdm.infrastructure.convert.pdm.ProcessFlowConvert;
+import com.dk.mdm.mapper.pdm.MoldingMapper;
 import com.dk.mdm.mapper.pdm.ProcessFlowMapper;
+import com.dk.mdm.model.pojo.pdm.Molding;
 import com.dk.mdm.model.pojo.pdm.ProcessFlow;
 import com.dk.mdm.model.query.pdm.ProcessFlowQuery;
 import com.dk.mdm.model.response.mst.ProductViewResponse;
@@ -21,6 +24,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+import java.util.UUID;
+
 
 @Service
 @Transactional
@@ -30,21 +36,19 @@ public class ProcessFlowService extends BaseService<ProcessFlow> {
     public BaseMapper<ProcessFlow> getRepository() {
         return processFlowMapper;
     }
+    @Override
+    public String getPrimaryKey() {
+        return "flow_id";
+    }
 
     @Autowired
     private ProcessFlowMapper processFlowMapper;
-
     @Autowired
     private ProcessFlowConvert convert;
-
     @Autowired
     private ProcessSettingDomainService domainService;
-
-
-    @Override
-    public String getPrimaryKey() {
-        return "flow_id";
-    }
+    @Autowired
+    private MoldingMapper moldingMapper;
 
     /**
      * @desc : 分页、关联、条件查询
@@ -128,4 +132,15 @@ public class ProcessFlowService extends BaseService<ProcessFlow> {
                 ?domainService.rewriteBusinessData(processFlow,id)
                 :processFlow);
     }
+
+    /**
+     * @desc   : 查询绑定成型线
+     * @author : 张潇木
+     * @date   : 2023/3/29 13:49
+     */
+    public ResponseResultVO getBindMolding(List<UUID> nodeIds) {
+        return ResponseResultUtil.success(moldingMapper.selectList(new QueryWrapper<Molding>().lambda()
+                .eq(Molding::getFlgValid,true)
+                .in(Molding::getFlowNodeId, nodeIds)));
+    }
 }