Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/demo_' into demo_

hfxc226 1 anno fa
parent
commit
f74bfbb596
27 ha cambiato i file con 353 aggiunte e 150 eliminazioni
  1. 1 0
      platform-common/src/main/java/com/platform/common/constant/CommonConstants.java
  2. 2 0
      platform-common/src/main/java/com/platform/common/enums/DictTypeEnum.java
  3. 10 0
      platform-common/src/main/java/com/platform/common/yongyou/request/AddSpareRequest.java
  4. 20 29
      platform-common/src/main/java/com/platform/common/yongyou/request/Inventory.java
  5. 15 0
      platform-common/src/main/java/com/platform/common/yongyou/response/AddSpareResponse.java
  6. 1 0
      platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java
  7. 1 0
      platform-dao/src/main/java/com/platform/dao/dto/store/SpareStoreDTO.java
  8. 4 0
      platform-dao/src/main/java/com/platform/dao/enums/RepairApplicationFormStatusEnum.java
  9. 2 0
      platform-dao/src/main/java/com/platform/dao/mapper/preparation/PreparationMapper.java
  10. 4 0
      platform-dao/src/main/java/com/platform/dao/vo/report/AllPreparationReportVO.java
  11. 12 0
      platform-dao/src/main/resources/mapper/preparation/PreparationMapper.xml
  12. 4 0
      platform-dao/src/main/resources/mapper/repair/RepairApplicationFormMapper.xml
  13. 10 0
      platform-rest/src/main/java/com/platform/rest/controller/preparation/PreparationController.java
  14. 13 0
      platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java
  15. 2 2
      platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoController.java
  16. 13 7
      platform-rest/src/main/java/com/platform/rest/controller/upms/SysUserController.java
  17. 3 4
      platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java
  18. 30 75
      platform-service/src/main/java/com/platform/service/preparation/impl/PreparationServiceImpl.java
  19. 10 0
      platform-service/src/main/java/com/platform/service/repair/RepairApplicationFormService.java
  20. 62 10
      platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java
  21. 3 3
      platform-service/src/main/java/com/platform/service/repair/strategy/RepairStrategyFactory.java
  22. 42 10
      platform-service/src/main/java/com/platform/service/repair/strategy/impl/AllocateRepairBaseStrategy.java
  23. 2 0
      platform-service/src/main/java/com/platform/service/upms/SysUserService.java
  24. 12 4
      platform-service/src/main/java/com/platform/service/upms/impl/SysUserServiceImpl.java
  25. 1 1
      platform-service/src/main/java/com/platform/service/yongyou/YongyouService.java
  26. 43 5
      platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java
  27. 31 0
      platform-service/src/main/java/handler/yongyou/AddSpareHandler.java

+ 1 - 0
platform-common/src/main/java/com/platform/common/constant/CommonConstants.java

@@ -331,6 +331,7 @@ public interface CommonConstants {
     int NO_PLAN_FLAG = 2; // 非计划性维修
     int OTHER = 3; // 其他
     int NORMAL = 4; // 日常维修
+    int SIMPLE_REPAIR = 5; // 简易维修流程
 
 
     // 打印类型

+ 2 - 0
platform-common/src/main/java/com/platform/common/enums/DictTypeEnum.java

@@ -30,6 +30,8 @@ public enum DictTypeEnum {
     THIRD_PARTY_YONGYOU_LOGIN("LOGIN", "登录接口"),
     THIRD_PARTY_YONGYOU_INVENTORYLIST("INVENTORYLIST", "存量接口"),
     THIRD_PARTY_YONGYOU_GETSTOCK("GETSTOCK", "存量库存接口"),
+    ADD_SPARE("ADDSPARE", "新增物料接口"),
+
     THIRD_PARTY_YONGYOU_OTHEROUT("OTHEROUT", "出库申请单"),
     REMOTE_MEASURE("REMOTE_MEASURE", "设备遥测"),
     REMOTE_DEGREE("REMOTE_DEGREE", "设备电度"),

+ 10 - 0
platform-common/src/main/java/com/platform/common/yongyou/request/AddSpareRequest.java

@@ -0,0 +1,10 @@
+package com.platform.common.yongyou.request;
+
+import lombok.Data;
+
+@Data
+public class AddSpareRequest extends BaseRequest{
+    private Inventory Inventory;
+    private String TradeID;
+
+}

+ 20 - 29
platform-common/src/main/java/com/platform/common/yongyou/request/Inventory.java

@@ -1,58 +1,49 @@
 package com.platform.common.yongyou.request;
 
-import com.alibaba.fastjson.annotation.JSONField;
 import lombok.Data;
 
 
 @Data
 public class Inventory {
-    @JSONField(name="cInvCode")
     private String cInvCode;//存货编码
-    @JSONField(name="cInvAddCode")
     private String cInvAddCode;//存货代码
-    @JSONField(name="cInvName")
     private String cInvName;//存货名称
-    @JSONField(name="cInvStd")
     private String cInvStd;//规格型号
-    @JSONField(name="cInvCCode")
     private String cInvCCode;//存货分类编码
-    @JSONField(name="cGroupCode")
     private String cGroupCode;//计量单位组编码
-
-    @JSONField(name="cComUnitCode")
     private String cComUnitCode;//主计量单位编码
-    @JSONField(name="cShopUnit")
     private String cShopUnit;//零售计量单位 ,如果没有辅计量单位,为空
-    @JSONField(name="cInvDepCode")
     private String cInvDepCode;//生产部门
-    @JSONField(name="cValueType")
     private String cValueType;//计价方式
-    @JSONField(name="dSDate")
     private String dSDate; //启用日期
-
-    @JSONField(name="cSRPolicy")
     private String cSRPolicy;//供需政策
-    @JSONField(name="cPlanMethod")
     private String cPlanMethod;//计划方法
-    @JSONField(name="dInvCreateDatetime")
     private String dInvCreateDatetime;//建档日期
-    @JSONField(name="cModifyPerson")
     private String cModifyPerson;//变更人
-
-    @JSONField(name="dModifyDate")
     private String dModifyDate;//变更日期
-    @JSONField(name="cInvDefine1")
     private String cInvDefine1;//存货自定义项1
-
-    @JSONField(name="bSale")
     private boolean bSale;//是否销售
-
-    @JSONField(name="bSelf")
     private boolean bSelf;//是否自制
-
-    @JSONField(name="bComsume")
     private boolean bComsume;//是否生产耗用
-
-    @JSONField(name="iGroupType")
     private Integer iGroupType;//计量单位组类别 ,无换算率 为 0 ,固定换算率为 1
+    private boolean bPurchase;//是否外购
+    private Integer cPUComUnitCode;//采购默认计量单位编码 ,如果没有辅计量单位,为空
+    private Integer cSAComUnitCode;//销售默认计量单位编码 ,如果没有辅计量单位,为空
+    private Integer cSTComUnitCode;//库存默认计量单位编码 ,如果没有辅计量单位,为空
+    private Object cCAComUnitCode;//成本默认计量单位编码,如果没有辅计量单位,为空
+    private Integer iDrawType;//领料方式 ,直接领料为 0
+    private Integer iSupplyType;//供应类型 ,领用 为0
+    private boolean bInvBatch;//是否批次管理
+    private Integer iRequireTrackStyle;//需求跟踪方式
+    private boolean bBomMain;//允许BOM母件
+    private boolean bBomSub;//允许BOM子件
+    private boolean bProductBill;//允许生产订单
+    private Integer iPlanDefault;//计划默认属性,自制 1,委外 2,采购 3
+    private String cCreatePerson;//建档人
+    private boolean bFree1;//存货是否有自由项1,长度mm
+    private boolean bFree2;//存货是否有自由项2 ,表面处理
+    private boolean bFree3;//存货是否有自由项3 , 材质硬度
+
+
+
 }

+ 15 - 0
platform-common/src/main/java/com/platform/common/yongyou/response/AddSpareResponse.java

@@ -0,0 +1,15 @@
+package com.platform.common.yongyou.response;
+
+import lombok.Data;
+
+/**
+ * 现存量查询响应
+ */
+@Data
+public class AddSpareResponse{
+    boolean errcode;
+    String errmsg;
+    String id;
+    String tradeid;
+
+}

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java

@@ -508,5 +508,6 @@ public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
 
     private List<String> sqlString;
     private String sqlValue;
+    private String tempUserId;
 
 }

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/store/SpareStoreDTO.java

@@ -24,6 +24,7 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class SpareStoreDTO extends BaseDTO implements Serializable {
+    private String pickId;
 
     private Integer tokenType;
     /**

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/enums/RepairApplicationFormStatusEnum.java

@@ -109,6 +109,10 @@ public enum RepairApplicationFormStatusEnum {
      * 报修待审
      */
     REPAIR_VERIFYING(24),
+    /**
+     * 验收被拒
+     */
+    VERIFY_REFUSED(25),
     ;
     private final Integer value;
 }

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/mapper/preparation/PreparationMapper.java

@@ -4,6 +4,7 @@ import com.platform.dao.dto.preparation.PreparationDTO;
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.entity.preparation.Preparation;
 import com.platform.dao.vo.query.preparation.PreparationVO;
+import com.platform.dao.vo.report.PreparationReportByStatusVO;
 import org.springframework.stereotype.Component;
 import java.util.List;
 
@@ -16,6 +17,7 @@ import java.util.List;
  */
 @Component
 public interface PreparationMapper extends MyMapper<Preparation> {
+    List<PreparationReportByStatusVO> getPreparationReportByStatusVO(PreparationDTO dto);
     /**
      * 分页查询
      * @param dto

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/vo/report/AllPreparationReportVO.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.experimental.Accessors;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -33,6 +34,9 @@ public class AllPreparationReportVO implements Serializable {
     @Excel(name = "次数", orderNum = "3")
     private Integer num;
 
+    @Excel(name = "费用汇总", orderNum = "4")
+    private BigDecimal totalFee;
+
     /**
      * 明细列表
      */

+ 12 - 0
platform-dao/src/main/resources/mapper/preparation/PreparationMapper.xml

@@ -172,6 +172,18 @@
         </where>
     </select>
 
+    <select id="getPreparationReportByStatusVO" resultType="com.platform.dao.vo.report.PreparationReportByStatusVO"
+            parameterType="com.platform.dao.dto.preparation.PreparationDTO">
+        select preparation.status,count(1) as num
+        from t_preparation as preparation join t_sys_user applyU on preparation.user_id = applyU.user_id
+        join t_sb_position sp on preparation.position_id = sp.id
+        join t_sys_dept dept on preparation.depart_id = dept.dept_id
+        <where>
+            <include refid="List_Condition"/>
+        </where>
+        group by status
+    </select>
+
     <select id="getCountByUserId" resultType="com.platform.dao.vo.query.preparation.PreparationVO"
     parameterType="com.platform.dao.dto.preparation.PreparationDTO">
         select status, count(1) counts from t_preparation

+ 4 - 0
platform-dao/src/main/resources/mapper/repair/RepairApplicationFormMapper.xml

@@ -149,6 +149,10 @@
             <if test="verifyRepairUserId != null and verifyRepairUserId != ''">
                 and application.verify_repair_user_id = #{verifyRepairUserId}
             </if>
+            <if test="tempUserId != null and tempUserId != ''">
+                and (application.dispatch_user_id = #{tempUserId} or application.user_id = #{tempUserId}
+                or application.repair_user_id = #{tempUserId})
+            </if>
         </where>
     </select>
     <select id="selectById" parameterType="java.lang.Object"

+ 10 - 0
platform-rest/src/main/java/com/platform/rest/controller/preparation/PreparationController.java

@@ -22,6 +22,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
@@ -242,9 +243,18 @@ public class PreparationController {
         break;
       }
     }
+
     if (preparationVOS.size() == 0){
       throw new BusinessException("系统出错,请联系管理员!");
     }
+    BigDecimal totalFee = new BigDecimal(0);
+    for (PreparationVO vo:preparationVOS){
+      totalFee = totalFee.add(vo.getFee());
+    }
+    PreparationVO preparationVO = new PreparationVO();
+    preparationVO.setFee(totalFee);
+    preparationVO.setId("费用汇总");
+    preparationVOS.add(preparationVO);
     ExcelUtil.exportResponseDict(response, ExportPreparationVO.class, BeanConverterUtil.copyListProperties(preparationVOS, ExportPreparationVO.class), "筹建报表统计导出");
   }
 

+ 13 - 0
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java

@@ -233,6 +233,19 @@ public class RepairApplicationFormController {
         return new R<>(pageInfos);
     }
 
+    /**
+     * 获取分页-主管派单型
+     * @param pageNum                  当前页码
+     * @param pageSize                 每页条数
+     * @param repairApplicationFormDTO 保修单DTO
+     * @return R
+     */
+    @GetMapping("/dispatch/page")
+    public R queryDispatch(RepairApplicationFormDTO repairApplicationFormDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+        MyVOPage<RepairApplicationFormVO> pageInfos = repairApplicationFormService.selectPageInfoVODispatch(repairApplicationFormDTO, pageNum, pageSize);
+        return new R<>(pageInfos);
+    }
+
     /**
      * 工单池分页数据
      * @param repairApplicationFormDTO

+ 2 - 2
platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoController.java

@@ -272,7 +272,7 @@ public class SbInfoController {
         sbInfoService.batchDelete(ids);
 
         List<SbMeasureLog> measureLogs = new ArrayList<>();
-        if (sbInfoVOS!=null&&sbInfoVOS.size()>0) {
+            if (sbInfoVOS!=null&&sbInfoVOS.size()>0) {
             for (SbInfoVO vo : sbInfoVOS) {
                 SbMeasureLog log = new SbMeasureLog();
                 log.setOtherType(SbMeasureLogOtherTypeEnum.DELETE.getValue());
@@ -286,8 +286,8 @@ public class SbInfoController {
                 log.setContent(str);
                 measureLogs.add(log);
             }
+            sbMeasureLogMapper.insertListforComplex(measureLogs);
         }
-        sbMeasureLogMapper.insertListforComplex(measureLogs);
         return new R<>();
     }
     public void setCreateUserInfo(SbMeasureLog model) {

+ 13 - 7
platform-rest/src/main/java/com/platform/rest/controller/upms/SysUserController.java

@@ -9,7 +9,6 @@ import com.platform.common.constant.SecurityConstants;
 import com.platform.common.constant.UpmsRedisKeyConstants;
 import com.platform.common.enums.InitialPasswordEnum;
 import com.platform.common.enums.ResultCode;
-import com.platform.common.exception.DeniedException;
 import com.platform.common.model.OauthUser;
 import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
@@ -17,11 +16,9 @@ import com.platform.common.validation.group.AddGroup;
 import com.platform.common.validation.group.OtherGroup;
 import com.platform.common.validation.group.UpdateGroup;
 import com.platform.dao.bean.MyPage;
-import com.platform.dao.dto.firm.FirmProducerDTO;
 import com.platform.dao.dto.upms.SysDeptDTO;
 import com.platform.dao.dto.upms.SysUserDTO;
 import com.platform.dao.dto.upms.SysUserDeptDTO;
-import com.platform.dao.entity.firm.FirmProducer;
 import com.platform.dao.entity.upms.SysMenu;
 import com.platform.dao.entity.upms.SysUser;
 import com.platform.dao.enums.SysRoleCodeEnum;
@@ -30,7 +27,6 @@ import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.util.TreeUtil;
 import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.UserInfoVO;
-import com.platform.dao.vo.export.firm.ExportFirmProducerVO;
 import com.platform.dao.vo.export.upms.ExportSysUserVO;
 import com.platform.dao.vo.im.base.ImportResultVO;
 import com.platform.dao.vo.im.upms.ImportSysUserVO;
@@ -38,7 +34,6 @@ import com.platform.office.util.ExcelImportUtil;
 import com.platform.rest.log.annotation.SysLog;
 import com.platform.service.upms.SysUserDeptService;
 import com.platform.service.upms.SysUserService;
-import com.platform.service.wechat.util.WeChatMessageUtil;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -53,7 +48,6 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.time.LocalDateTime;
@@ -641,7 +635,19 @@ public class SysUserController {
     public R selectRoleDeptNameUsers(@PathVariable("roleName") String roleName,@PathVariable("deptId") String deptId) {
         SysUserDTO dto = new SysUserDTO();
         dto.setRoleCode(roleName);
-        dto.setDeptId(deptId);
+        //dto.setDeptId(deptId);
         return R.success(sysUserService.selectDeptRoleUser(dto));
     }
+
+    /**
+     * 根据角色名称获取用户集合
+     * @param roleName
+     * @return :
+     */
+    @GetMapping("/query/roleName/dept/{roleName}")
+    public R selectRoleDeptNameUsers(@PathVariable("roleName") String roleName) {
+        SysUserDTO dto = new SysUserDTO();
+        dto.setRoleCode(roleName);
+        return R.success(sysUserService.selectDeptRoleNameUser(dto));
+    }
 }

+ 3 - 4
platform-rest/src/main/java/com/platform/rest/controller/yongyou/YongyouController.java

@@ -74,11 +74,10 @@ public class YongyouController {
     }
 
     @SysLog("新增物料发起")
-    @PutMapping("/add/spare")
-    public R addSpare(Inventory inventory) {
+    @PostMapping("/add/spare")
+    public R addSpare(@RequestBody Inventory inventory,@RequestParam Integer tokenType) {
 //        yongyouService.addOutForm(id, false);
-        yongyouService.addSpare(inventory);
-        return new R<>();
+        return new R<>(yongyouService.addSpare(inventory,tokenType));
     }
 
     /**

+ 30 - 75
platform-service/src/main/java/com/platform/service/preparation/impl/PreparationServiceImpl.java

@@ -103,6 +103,7 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
                 preparationNumVO.setTotalFee(totalFee);
                 preparationNumVO.setPositionName(positionName);
                 preparationNumVO.setDetailList(detailList);
+                preparationNumVO.setPositionId(id);
                 exportPreparationNumVOS.add(preparationNumVO);
 
             }
@@ -138,78 +139,18 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         dto.setCreatedTimeEnd(searchStartTime);
         dto.setCreatedTimeEnd(searchEndTime);
         List<PreparationVO> list = mapper.selectList(dto);
-        List<PreparationReportByStatusVO> result = new ArrayList<>();
-        Integer draftNum = 0;
-        Integer waiting_allocationNum = 0;
-        Integer allocationedNum = 0;
-        Integer complatedNum = 0;
-        Integer revokedNum = 0;
-        PreparationReportByStatusVO draft = new PreparationReportByStatusVO();
-        PreparationReportByStatusVO waiting = new PreparationReportByStatusVO();
-        PreparationReportByStatusVO allocationed = new PreparationReportByStatusVO();
-        PreparationReportByStatusVO complated = new PreparationReportByStatusVO();
-        PreparationReportByStatusVO revoked = new PreparationReportByStatusVO();
-        List<PreparationVO> draftList = new ArrayList<>();
-        List<PreparationVO> waitingList = new ArrayList<>();
-        List<PreparationVO> allocationedList = new ArrayList<>();
-        List<PreparationVO> complatedList = new ArrayList<>();
-        List<PreparationVO> revokedList = new ArrayList<>();
-        for (PreparationVO vo : list) {
-            if (DictCache.getValueByCode("REPAIR_PREPARATION_STATUS", "draft").equals(vo.getStatus())) {
-                draft.setStatusName("草稿");
-                draftList.add(vo);
-                draft.setStatus(0);
-                draftNum++;
-            } else if (DictCache.getValueByCode("REPAIR_PREPARATION_STATUS", "waiting_allocation").equals(vo.getStatus())) {
-                waiting.setStatusName("待分配");
-                waitingList.add(vo);
-                waiting.setStatus(1);
-                waiting_allocationNum++;
-            } else if (DictCache.getValueByCode("REPAIR_PREPARATION_STATUS", "allocationed").equals(vo.getStatus())) {
-                allocationed.setStatusName("已分配");
-                allocationedList.add(vo);
-                allocationed.setStatus(2);
-                allocationedNum++;
-            } else if (DictCache.getValueByCode("REPAIR_PREPARATION_STATUS", "complated").equals(vo.getStatus())) {
-                complated.setStatusName("已完成");
-                complatedList.add(vo);
-                complated.setStatus(3);
-                complatedNum++;
-            } else if (DictCache.getValueByCode("REPAIR_PREPARATION_STATUS", "revoked").equals(vo.getStatus())) {
-                revoked.setStatusName("已撤销");
-                revokedList.add(vo);
-                revoked.setStatus(4);
-                revokedNum++;
-            }
+        List<PreparationReportByStatusVO> preparationReportByStatusVOS = mapper.getPreparationReportByStatusVO(dto);
+        for (PreparationReportByStatusVO statusVO:preparationReportByStatusVOS){
+            List<PreparationVO> detailList = new ArrayList<>();
 
+            for (PreparationVO preparationVO:list){
+                if (preparationVO.getStatus().equals(statusVO.getStatus())){
+                    detailList.add(preparationVO);
+                }
+            }
+            statusVO.setDetailList(detailList);
         }
-        List<PreparationReportByStatusVO> list1 = new ArrayList<>();
-        if (draftNum != 0) {
-            draft.setNum(draftNum);
-            draft.setDetailList(draftList);
-            list1.add(draft);
-        }
-        if (waiting_allocationNum != 0) {
-            waiting.setNum(waiting_allocationNum);
-            waiting.setDetailList(waitingList);
-            list1.add(waiting);
-        }
-        if (allocationedNum != 0) {
-            allocationed.setNum(allocationedNum);
-            allocationed.setDetailList(allocationedList);
-            list1.add(allocationed);
-        }
-        if (complatedNum != 0) {
-            complated.setNum(complatedNum);
-            complated.setDetailList(complatedList);
-            list1.add(complated);
-        }
-        if (revokedNum != 0) {
-            revoked.setNum(revokedNum);
-            revoked.setDetailList(revokedList);
-            list1.add(revoked);
-        }
-        return list1;
+        return preparationReportByStatusVOS;
     }
 
     @Override
@@ -242,6 +183,7 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         List<AllPreparationReportVO> result = new ArrayList<AllPreparationReportVO>();
 
         for (Map<String, LocalDateTime> map : monthStartAndEndList) {
+            BigDecimal totalFee = new BigDecimal(0);
             int i = 0;
             AllPreparationReportVO vo = new AllPreparationReportVO();
             List<PreparationVO> detailList = new ArrayList<PreparationVO>();
@@ -251,10 +193,14 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
                 if (preparationVO.getApplyTime().isAfter(map.get("searchStartTimeMonth")) && preparationVO.getApplyTime().isBefore(map.get("searchEndTimeMonth"))) {
                     i++;
                     // 维修专业
-
+                    if (preparationVO.getFee()==null){
+                        preparationVO.setFee(new BigDecimal(0));
+                    }
                     detailList.add(preparationVO);
+                    totalFee = totalFee.add(preparationVO.getFee()==null?new BigDecimal(0):preparationVO.getFee());
                 }
             }
+            vo.setTotalFee(totalFee);
             vo.setNum(i);
             vo.setDetailList(detailList);
             result.add(vo);
@@ -499,9 +445,16 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         PageHelper.startPage(pageNum, pageSize);
         UserInfo userInfo = SecurityUtils.getUserInfo();
         record.setTempUserId(userInfo.getUserId());
-        /*if(record.getStatus() != null && record.getStatus() == -1){
+        if(record.getStatus() != null && record.getStatus() == 99){
+            List<Integer> statusList = ListUtils.newArrayList();
+            statusList.add(PreparationStatusEnum.NOT_ALLOCATED.getValue());
+            statusList.add(PreparationStatusEnum.APPLY_MANAGER_VERIFY_SUCCESS.getValue());
+            statusList.add(PreparationStatusEnum.FIRST_PROCESSING_VERIFYING.getValue());
+            statusList.add(PreparationStatusEnum.SECOND_PROCESSING_VERIFYING.getValue());
+            statusList.add(PreparationStatusEnum.APPLY_LEADER_VERIFY_SUCCESS.getValue());
+            record.setStatusList(statusList);
             record.setStatus(null);
-        }*/
+        }
         return new MyPage(mapper.selectList(record));
     }
 
@@ -590,8 +543,10 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         // 修改进度状态
         mapper.updateByPrimaryKeySelective(updPre);
         // 发送消息
-        List<SysUserVO> userVOS = sysUserMapper.getSysUserVO(queryDTO);
-        sendMessageToApplyLeader(userVOS, preparation);
+        if(!StringUtils.isEmpty(queryDTO.getUserId())){
+            List<SysUserVO> userVOS = sysUserMapper.getSysUserVO(queryDTO);
+            sendMessageToApplyLeader(userVOS, preparation);
+        }
     }
 
     @Override

+ 10 - 0
platform-service/src/main/java/com/platform/service/repair/RepairApplicationFormService.java

@@ -58,6 +58,16 @@ public interface RepairApplicationFormService extends IBaseService<RepairApplica
      */
     MyVOPage<RepairApplicationFormVO> selectPageInfoVO(RepairApplicationFormDTO record, int pageNum, int pageSize);
 
+    /**
+     * 主管派单分页查询
+     *
+     * @param record   :
+     * @param pageNum  :
+     * @param pageSize :
+     * @return :
+     */
+    MyVOPage<RepairApplicationFormVO> selectPageInfoVODispatch(RepairApplicationFormDTO record, int pageNum, int pageSize);
+
     /**
      * 获取详情
      *

+ 62 - 10
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -329,21 +329,30 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
     }
     private void addPrepationNums(NoticeNumberVO noticeNumberVO,PreparationDTO preparationDTO){
         List<PreparationVO> preparationVOS = preparationMapper.getCountByUserId(preparationDTO);
+        noticeNumberVO.setNotDealNum(initNum);
+        noticeNumberVO.setYesDealNum(initNum);
+        noticeNumberVO.setFinishNum(initNum);
+        noticeNumberVO.setReturnNum(initNum);
         for (PreparationVO vo : preparationVOS){
-            if (vo.getStatus() == PreparationStatusEnum.NOT_ALLOCATED.getValue()){
+            BigDecimal tempVal = vo.getCounts() == null ? initNum : vo.getCounts();
+            if (vo.getStatus() == PreparationStatusEnum.NOT_ALLOCATED.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.APPLY_MANAGER_VERIFY_SUCCESS.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.FIRST_PROCESSING_VERIFYING.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.SECOND_PROCESSING_VERIFYING.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.APPLY_LEADER_VERIFY_SUCCESS.getValue()){
                 // 待审核
-                noticeNumberVO.setNotDealNum(vo.getCounts()==null?initNum:vo.getCounts());
-            }else if (vo.getStatus() == PreparationStatusEnum.NOT_ALLOCATED.getValue()){
-                // 待接单
-                noticeNumberVO.setYesDealNum(vo.getCounts()==null?initNum:vo.getCounts());
+                noticeNumberVO.setNotDealNum(noticeNumberVO.getNotDealNum().add(tempVal));
+            }else if (vo.getStatus() == PreparationStatusEnum.SECOND_PROCESSING.getValue()){
+                // 执行中
+                noticeNumberVO.setYesDealNum(noticeNumberVO.getYesDealNum().add(tempVal));
             }
-            else if (vo.getStatus() == PreparationStatusEnum.NOT_ALLOCATED.getValue()){
-                // 待分配
-                noticeNumberVO.setFinishNum(vo.getCounts() == null ? initNum : vo.getCounts());
+            else if (vo.getStatus() == PreparationStatusEnum.FINISHED.getValue()){
+                // 已完成
+                noticeNumberVO.setFinishNum(noticeNumberVO.getFinishNum().add(tempVal));
             }
             else if (vo.getStatus() == PreparationStatusEnum.PROCESSING.getValue()){
-                // 执行中
-                noticeNumberVO.setReturnNum(vo.getCounts()==null?initNum:vo.getCounts());
+                // 费用审核
+                noticeNumberVO.setReturnNum(noticeNumberVO.getReturnNum().add(tempVal));
             }
         }
     }
@@ -1019,6 +1028,49 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         return new MyVOPage<>(mapper.selectPageList(record));
     }
 
+    @Override
+    public MyVOPage<RepairApplicationFormVO> selectPageInfoVODispatch(RepairApplicationFormDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        if(StringUtils.isBlank(record.getSbId())){ // 非获取设备的维修记录
+            UserInfo userInfo = SecurityUtils.getUserInfo();
+            record.setTempUserId(userInfo.getUserId());
+            if(record.getSearchType() != null){
+                List<Integer> statusList = new ArrayList<>();
+                if(record.getSearchType() == 1){ // 待派工单
+                    statusList.add(RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue());
+                }else if(record.getSearchType() == 2){ // 我的工单
+                    statusList.add(RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue());
+                    statusList.add(RepairApplicationFormStatusEnum.PROCESSING.getValue());
+                    statusList.add(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
+                    statusList.add(RepairApplicationFormStatusEnum.FINISHED.getValue());
+                    statusList.add(RepairApplicationFormStatusEnum.MM_REPAIR_CLOSE.getValue());
+                }else if(record.getSearchType() == 3){ // 待审核工单
+                    statusList.add(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
+                }else if(record.getSearchType() == 4){
+                    // 关闭工单
+                    statusList.add(RepairApplicationFormStatusEnum.MM_REPAIR_CLOSE.getValue());
+                }
+                record.setStatusList(statusList);
+            }
+            // 排除超级用户
+            String userNames = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_SUPER_USERS.name()); // 超级用户
+            if(StringUtils.isBlank(userNames)){
+                throw new DeniedException("请设置维修菜单的超级用户");
+            }
+            // 维修模式为派工的情况
+            if(userNames.contains(userInfo.getUsername())){
+                record.setRepairUserId(null);
+                record.setDispatchUserId(null);
+                // 超级可以看到所有待审核的工单
+                if(record.getSearchType() != null && record.getSearchType() == 7){
+                    record.setCheckUserId(null);
+                    record.setCheckAllFlag(1);
+                }
+            }
+        }
+        return new MyVOPage<>(mapper.selectPageList(record));
+    }
+
     @Override
     public RepairApplicationFormVO getById(Object id) {
         RepairApplicationForm model = mapper.selectById(id);

+ 3 - 3
platform-service/src/main/java/com/platform/service/repair/strategy/RepairStrategyFactory.java

@@ -1,11 +1,8 @@
 package com.platform.service.repair.strategy;
 
-import com.platform.common.cache.ConfigCache;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.util.BeanUtils;
-import com.platform.dao.enums.SysConfigEnum;
 import com.platform.service.repair.strategy.impl.AllocateRepairBaseStrategy;
-import com.platform.service.repair.strategy.impl.BaseRepairBaseStrategy;
 import com.platform.service.repair.strategy.impl.LongYanPlanRepairStrategy;
 import com.platform.service.repair.strategy.impl.LongYanRepairStrategy;
 
@@ -45,6 +42,9 @@ public class RepairStrategyFactory {
             case CommonConstants.NORMAL:
                 strategy = (LongYanPlanRepairStrategy)BeanUtils.getBean("longYanPlanRepairStrategy");
                 break;
+            case CommonConstants.SIMPLE_REPAIR:
+                strategy = (AllocateRepairBaseStrategy)BeanUtils.getBean("allocateRepairBaseStrategy");
+                break;
         }
         return strategy;
     }

+ 42 - 10
platform-service/src/main/java/com/platform/service/repair/strategy/impl/AllocateRepairBaseStrategy.java

@@ -108,7 +108,20 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
     @Override
     public RepairApplicationFormDTO sendRepair(RepairApplicationFormDTO model) {
         RepairApplicationFormDTO superModel = super.sendRepair(model);
-        // 自己派工
+        RepairApplicationForm applicationForm = new RepairApplicationForm();
+        applicationForm.setId(model.getId());
+        applicationForm.setRepairUserId(superModel.getRepairUserId());
+        applicationForm.setStatus(RepairApplicationFormStatusEnum.PROCESSING.getValue());
+        if (superModel.getRepairStartTime() == null) {
+            applicationForm.setRepairStartTime(LocalDateTime.now());
+            superModel.setRepairStartTime(LocalDateTime.now());
+        }
+        applicationForm.setReceiveMinutes(DateUtils.getDurationHours(superModel.getApplyTime(), superModel.getRepairStartTime()));
+        applicationForm.setUpdateTime(LocalDateTime.now());
+        repairApplicationFormMapper.updateByPrimaryKeySelective(applicationForm);
+        // 给报修人发送消息
+        sendMessageToRepairCaller(superModel.getId(),superModel.getNo(),superModel.getUserId());
+        /*// 自己派工
         UserInfo userInfo = SecurityUtils.getUserInfo();
         String userNames = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_SUPER_USERS.name()); // 超级用户
         if(StringUtils.isNotBlank(userNames)){
@@ -137,7 +150,7 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
                 }
             }
 
-        }
+        }*/
 
         return model;
     }
@@ -159,9 +172,9 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
     public RepairApplicationForm submitRepair(RepairApplicationFormDTO model) {
         RepairApplicationForm applicationForm = super.submitRepair(model);
         SbInfoVO sbInfoVO = sbInfoService.getById(applicationForm.getSbId());
-        // 默认的提交审核后的审核人,就是维修主管的角色,每家不同自行实现
-        SysUserVO userVO;
-        SysUserDTO query = new SysUserDTO();
+        // 完成维修提交给生产审核
+        SysUserVO userVO = sysUserService.selectUserVO(applicationForm.getUserId());
+        /*SysUserDTO query = new SysUserDTO();
         query.setRoleCode(SysRoleCodeEnum.REPAIR_EXAMINE.name());
         List<SysUserVO> users = sysUserService.selectDeptRoleUser(query);
         if (CollectionUtil.isNotEmpty(users)) {
@@ -169,7 +182,8 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
         } else {
             throw new BusinessException("审核角色:REPAIR_EXAMINE未绑定用户,REPAIR_EXAMINE为维修单最终验收人,请设置用户");
         }
-        applicationForm.setCheckUserId(userVO.getUserId());
+        applicationForm.setCheckUserId(userVO.getUserId());*/
+        applicationForm.setStatus(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
         repairApplicationFormMapper.updateByPrimaryKeySelective(applicationForm);
         // 发送邮件和通知
         String domain = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.SYSTEM_DOMAIN.name());
@@ -267,6 +281,13 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
 
     @Override
     public RepairApplicationFormDTO closeRepair(RepairApplicationFormDTO dto) {
+        // 保存维修记录图片和文件
+        sysFileService.saveFile(dto.getId(), SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue(), dto.getRepairFileList());
+        sysFileService.saveFile(dto.getId(), SysFileTypeEnum.REPAIR_REPAIR_FILES.getValue(), dto.getOpinionFileList());
+        RepairApplicationForm updForm = new RepairApplicationForm();
+        updForm.setId(dto.getId());
+        updForm.setStatus(RepairApplicationFormStatusEnum.MM_REPAIR_CLOSE.getValue());
+        repairApplicationFormMapper.updateByPrimaryKey(updForm);
         return null;
     }
 
@@ -282,7 +303,15 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
 
     @Override
     public void verifyRepairByProduce(RepairApplicationFormDTO model) {
-
+        if(model.getStatus() == null || model.getStatus() != RepairApplicationFormStatusEnum.FINISHED.getValue()
+        || model.getStatus() != RepairApplicationFormStatusEnum.VERIFY_REFUSED.getValue()){
+            throw new DeniedException("审核状态有问题");
+        }
+        RepairApplicationForm updForm = new RepairApplicationForm();
+        updForm.setId(model.getId());
+        updForm.setRemark(model.getRemark());
+        updForm.setStatus(model.getStatus());
+        repairApplicationFormMapper.updateByPrimaryKey(updForm);
     }
 
     @Override
@@ -317,11 +346,14 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
 
     @Override
     public RepairApplicationFormDTO handleRepair(RepairApplicationFormDTO dto) {
-        super.handleRepair(dto);
+        //super.handleRepair(dto);
         RepairApplicationForm applicationForm = repairApplicationFormMapper.selectById(dto.getId());
+        applicationForm.setRepairEndTime(LocalDateTime.now());
+        applicationForm.setRepairContent(dto.getRepairContent());
+        applicationForm.setStatus(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
         applicationForm.setRepairMinutes(DateUtils.getDurationHours(applicationForm.getRepairStartTime(), applicationForm.getRepairEndTime()));
         // 根据配置判断维修是否超时
-        String hourFirstStr = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_OVERTIME_MINUTE_FIRST.name());
+        /*String hourFirstStr = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_OVERTIME_MINUTE_FIRST.name());
         int hourFirst = 180;// 默认3小时,180分钟
         if (StringUtils.isNotBlank(hourFirstStr)) {
             hourFirst = Integer.valueOf(hourFirstStr) * 60;
@@ -332,7 +364,7 @@ public class AllocateRepairBaseStrategy extends AbstractRepairBaseStrategy {
             applicationForm.setRepairOvertime(false);
         }
         // 保存维修图片
-        sysFileService.saveFile(dto.getId(), SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue(), dto.getRepairFileList());
+        sysFileService.saveFile(dto.getId(), SysFileTypeEnum.REPAIR_REPAIR_IMGS.getValue(), dto.getRepairFileList());*/
         repairApplicationFormMapper.updateByPrimaryKeySelective(applicationForm);
         return dto;
     }

+ 2 - 0
platform-service/src/main/java/com/platform/service/upms/SysUserService.java

@@ -216,6 +216,8 @@ public interface SysUserService extends IBaseService<SysUser, SysUserDTO> {
      */
     List<SysUserVO> selectDeptRoleUser(SysUserDTO sysUserDTO);
 
+    List<SysUserVO> selectDeptRoleNameUser(SysUserDTO sysUserDTO);
+
     List<SysUserVO> getSysUserList(SysUserDeptDTO sysUserDeptDTO);
 
     List<SysUserVO> getRepairUsers(SysUserDTO sysUserDTO);

+ 12 - 4
platform-service/src/main/java/com/platform/service/upms/impl/SysUserServiceImpl.java

@@ -23,10 +23,7 @@ import com.platform.dao.entity.upms.*;
 import com.platform.dao.enums.DeptNatureEnum;
 import com.platform.dao.enums.SysRoleCodeEnum;
 import com.platform.dao.enums.SysUserIdentityType;
-import com.platform.dao.mapper.upms.SysDeptManagerMapper;
-import com.platform.dao.mapper.upms.SysDeptMapper;
-import com.platform.dao.mapper.upms.SysDeptRelationMapper;
-import com.platform.dao.mapper.upms.SysUserMapper;
+import com.platform.dao.mapper.upms.*;
 import com.platform.dao.util.UserUtil;
 import com.platform.dao.vo.SysUserDeptVO;
 import com.platform.dao.vo.SysUserVO;
@@ -50,6 +47,7 @@ import org.springframework.util.CollectionUtils;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -98,6 +96,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUser,
     @Autowired
     private SysDeptManagerMapper sysDeptManagerMapper;
 
+    @Resource
+    private SysUserDeptMapper sysUserDeptMapper;
+
     @Value("${security.oauth2.client.client-id}")
     private String clientId;
 
@@ -769,6 +770,13 @@ public class SysUserServiceImpl extends BaseServiceImpl<SysUserMapper, SysUser,
         return mapper.selectDeptRoleUser(sysUserDTO);
     }
 
+    @Override
+    public List<SysUserVO> selectDeptRoleNameUser(SysUserDTO sysUserDTO) {
+        String applyDept = sysUserDeptMapper.selectDeptIdByUserId(SecurityUtils.getUserInfo().getUserId());
+        sysUserDTO.setDeptId(applyDept);
+        return selectDeptRoleUser(sysUserDTO);
+    }
+
     @Override
     public List<SysUserVO> getSysUserList(SysUserDeptDTO sysUserDeptDTO) {
         List<SysUserVO> sysUserVOS=mapper.getSysUserList(sysUserDeptDTO);

+ 1 - 1
platform-service/src/main/java/com/platform/service/yongyou/YongyouService.java

@@ -24,7 +24,7 @@ import java.util.List;
  * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
  */
 public interface YongyouService {
-    void addSpare(Inventory inventory);
+    String addSpare(Inventory inventory,Integer tokenType);
 
     /**
      * 分页查询备件列表

+ 43 - 5
platform-service/src/main/java/com/platform/service/yongyou/impl/YongyouServiceImpl.java

@@ -10,14 +10,17 @@ import com.platform.common.util.StringUtils;
 import com.platform.common.yongyou.request.*;
 import com.platform.common.yongyou.response.*;
 import com.platform.dao.bean.MyVOPage;
+import com.platform.dao.dto.repair.RepairApplicationFormDTO;
 import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
 import com.platform.dao.dto.store.SpareStoreDTO;
+import com.platform.dao.entity.repair.RepairApplicationForm;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbModelSpareBom;
 import com.platform.dao.entity.store.OutStoreDetail;
 import com.platform.dao.entity.store.OutStoreForm;
 import com.platform.dao.enums.OutStoreStatusEnum;
 import com.platform.dao.enums.YesNoEnum;
+import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
 import com.platform.dao.mapper.sb.SbInfoMapper;
 import com.platform.dao.mapper.sb.SbModelSpareBomMapper;
 import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
@@ -27,13 +30,11 @@ import com.platform.dao.vo.query.store.SpareStoreVO;
 import com.platform.service.store.OutStoreDetailService;
 import com.platform.service.store.OutStoreFormService;
 import com.platform.service.yongyou.YongyouService;
-import handler.yongyou.GetCurrentStockHandler;
-import handler.yongyou.GetInventoryListHandler;
-import handler.yongyou.LoginHandler;
-import handler.yongyou.OtherOutHandler;
+import handler.yongyou.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -60,6 +61,8 @@ public class YongyouServiceImpl implements YongyouService {
     private SbInfoMapper sbInfoMapper;
     @Resource
     private SbModelSpareBomMapper sbModelSpareBomMapper;
+    @Resource
+    private RepairApplicationFormMapper repairApplicationFormMapper;
     private String token_key = "yongyou-token";
     private String Conn_key = "yongyou-Conn";
     private String cAcc_ID_key = "yongyou-cAcc_ID";
@@ -277,6 +280,22 @@ public class YongyouServiceImpl implements YongyouService {
                 throw new BusinessException("系统有误,请查验!");
             }
             spareIds = sbModelSpareBoms.stream().map(SbModelSpareBom::getSpareId).collect(Collectors.toList());
+        }else if (record.getPickId()!=null){
+            RepairApplicationForm form = new RepairApplicationForm();
+            form.setId(record.getPickId());
+            RepairApplicationForm repairApplicationForm = repairApplicationFormMapper.selectOne(form);
+            SbInfo sbInfo = new SbInfo();
+            sbInfo.setId(record.getSbId());
+            sbInfo = sbInfoMapper.selectByPrimaryKey(sbInfo);
+            List<SbModelSpareBom> sbModelSpareBoms = new ArrayList<>();
+            if (sbInfo!=null){
+                SbModelSpareBom bom = new SbModelSpareBom();
+                bom.setSbId(sbInfo.getId());
+                sbModelSpareBoms = sbModelSpareBomMapper.select(bom);
+            }else {
+                throw new BusinessException("系统有误,请查验!");
+            }
+            spareIds = sbModelSpareBoms.stream().map(SbModelSpareBom::getSpareId).collect(Collectors.toList());
         }
         // 已生成情况,直接推送
         GetCurrentStockHandler handler = new GetCurrentStockHandler();
@@ -365,7 +384,26 @@ public class YongyouServiceImpl implements YongyouService {
     }
 
     @Override
-    public void addSpare(Inventory inventory) {
+    public String addSpare(Inventory inventory,Integer tokenType) {
+        AddSpareRequest request = new AddSpareRequest();
+        request.setInventory(inventory);
+        request.setTradeID("");
+        request.setToken(geToken(tokenType));
+        request.setConn(getConn2(tokenType));
+        if (tokenType==1){
+            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key1));
+        }else if (tokenType==2){
+            request.setCAcc_ID(RedisUtils.get(cAcc_ID_key2));
+        }
+        AddSpareHandler handler = new AddSpareHandler();
+        handler.setRequest(request);
+        String responseStr = handler.handler();
+        AddSpareResponse response = JSONObject.parseObject(responseStr, AddSpareResponse.class);
+        if (response.isErrcode()){
+            return response.getErrmsg();
+        }else {
+            throw new BusinessException("新增失败!");
+        }
 
     }
 

+ 31 - 0
platform-service/src/main/java/handler/yongyou/AddSpareHandler.java

@@ -0,0 +1,31 @@
+package handler.yongyou;
+
+import com.platform.common.enums.DictTypeEnum;
+import com.platform.common.yongyou.request.AddSpareRequest;
+import com.platform.common.yongyou.request.BaseRequest;
+import com.platform.common.yongyou.request.GetCurrentStockRequest;
+import com.platform.common.yongyou.response.AddSpareResponse;
+import com.platform.common.yongyou.response.BaseResponse;
+import com.platform.common.yongyou.response.GetCurrentStockResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@Component
+public class AddSpareHandler extends BaseRequestHandler{
+
+    public AddSpareHandler(){
+        setServiceType(DictTypeEnum.ADD_SPARE.getType());
+    }
+
+    /**
+     * 获取分页数据
+     * @param req
+     * @param resp
+     */
+    @Override
+    public void successResponse(BaseRequest req, BaseResponse resp) {
+        AddSpareRequest request = (AddSpareRequest)req;
+//        AddSpareResponse response = (AddSpareResponse)resp;
+    }
+}