diff --git a/src/main/java/com/glxp/api/config/ReplaceBatch.java b/src/main/java/com/glxp/api/config/ReplaceBatch.java index f009e3478..2de71b37b 100644 --- a/src/main/java/com/glxp/api/config/ReplaceBatch.java +++ b/src/main/java/com/glxp/api/config/ReplaceBatch.java @@ -40,11 +40,11 @@ public class ReplaceBatch extends AbstractMethod { CustomerSqlMethod sqlMethod = CustomerSqlMethod.REPLACE_ONE; List fieldList = tableInfo.getFieldList(); - String columnScript = SqlScriptUtils.convertTrim(tableInfo.getAllInsertSqlColumnMaybeIf(null), - LEFT_BRACKET, RIGHT_BRACKET, null, COMMA); -// String insertSqlColumn = tableInfo.getKeyInsertSqlColumn(true, true) + -// this.filterTableFieldInfo(fieldList, predicate, TableFieldInfo::getInsertSqlColumn, EMPTY); -// String columnScript = LEFT_BRACKET + insertSqlColumn.substring(0, insertSqlColumn.length() - 1) + RIGHT_BRACKET; +// String columnScript = SqlScriptUtils.convertTrim(tableInfo.getAllInsertSqlColumnMaybeIf(ENTITY_DOT), +// LEFT_BRACKET, RIGHT_BRACKET, null, COMMA); + String insertSqlColumn = tableInfo.getKeyInsertSqlColumn(true, true) + + this.filterTableFieldInfo(fieldList, predicate, TableFieldInfo::getInsertSqlColumn, EMPTY); + String columnScript = LEFT_BRACKET + insertSqlColumn.substring(0, insertSqlColumn.length() - 1) + RIGHT_BRACKET; String insertSqlProperty = tableInfo.getKeyInsertSqlProperty(true, ENTITY_DOT, true) + this.filterTableFieldInfo(fieldList, predicate, i -> i.getInsertSqlProperty(ENTITY_DOT), EMPTY); insertSqlProperty = LEFT_BRACKET + insertSqlProperty.substring(0, insertSqlProperty.length() - 1) + RIGHT_BRACKET; diff --git a/src/main/java/com/glxp/api/controller/auth/AuthUserController.java b/src/main/java/com/glxp/api/controller/auth/AuthUserController.java index f080e0d74..1484c6382 100644 --- a/src/main/java/com/glxp/api/controller/auth/AuthUserController.java +++ b/src/main/java/com/glxp/api/controller/auth/AuthUserController.java @@ -6,15 +6,13 @@ import com.glxp.api.annotation.Log; import com.glxp.api.constant.BusinessType; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.*; -import com.glxp.api.req.auth.AuthUserSaveRequest; -import com.glxp.api.req.auth.FilterInvLinkDataRequest; -import com.glxp.api.req.auth.FilterInvWarehouseRequest; -import com.glxp.api.req.auth.FilterNoSelectUserRequest; +import com.glxp.api.req.auth.*; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.service.auth.*; +import com.glxp.api.util.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -136,4 +134,31 @@ public class AuthUserController extends BaseController { return ResultVOUtils.success(authAdmin); } + //修改用户信息 + @AuthRuleAnnotation("") + @PostMapping("/admin/auth/admin/updateUser") + public BaseResponse updateUser(@RequestBody UpdateUserRequset updateUserRequset) { + AuthAdmin authAdmin=customerService.getUserBean(); + System.out.println(updateUserRequset.toString()); + if (StringUtils.isBlank(updateUserRequset.getNewPassword())){ + return ResultVOUtils.error(500,"请输入新密码!"); + } + if (StringUtils.isBlank(updateUserRequset.getConfirmPassword())){ + return ResultVOUtils.error(500,"请输入确认密码!"); + } + if (!updateUserRequset.getPassWord().equals(authAdmin.getPassWord())){ + return ResultVOUtils.error(500,"当前密码输入错误!请重新输入!"); + } + if (updateUserRequset.getNewPassword().equals(authAdmin.getPassWord())){ + return ResultVOUtils.error(500,"新密码与旧密码重复!请重新修改!"); + } + if (updateUserRequset.getNewPassword().equals(updateUserRequset.getConfirmPassword())&&updateUserRequset.getPassWord().equals(authAdmin.getPassWord())){ + customerService.update(updateUserRequset); + return ResultVOUtils.success("修改成功"); + }else { + return ResultVOUtils.error(500,"新密码与确认密码不相同!请重新修改!"); + } + + } + } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java index c14fef462..ee5ca7b8b 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicDestinyRelController.java @@ -234,6 +234,7 @@ public class BasicDestinyRelController { //查询详情id过滤 List idList = basicDestinyRelService.filterDestinyRelIds(Long.valueOf(filterUdiRelRequest.getId())); if (idList != null && idList.size() > 0) { + filterUdiRelRequest.setDestinyId(filterUdiRelRequest.getId()+""); filterUdiRelRequest.setIds(idList); filterUdiRelRequest.setDiType(1); thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest); diff --git a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java index e47e57b41..f23c051ab 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiContrastController.java @@ -296,6 +296,57 @@ public class UdiContrastController { public void updateDi(UdiRelevanceEntity udiRelevanceEntity, String key) { List udiInfoEntities = udiDlHttpClient.getOrUpdateByUuid(key); + List originProductEntities = udiProductService.findByUuids(udiRelevanceEntity.getUuid()); + if (CollUtil.isNotEmpty(originProductEntities) && CollUtil.isNotEmpty(udiInfoEntities)) { + UdiProductEntity originProductEntity = originProductEntities.get(0); + for (UdiProductEntity udiProductEntity : udiInfoEntities) { + if (StrUtil.isEmpty(udiProductEntity.getSptm())) { + udiProductEntity.setSptm(originProductEntity.getSptm()); + } + if (StrUtil.isEmpty(udiProductEntity.getYbbm())) { + udiProductEntity.setYbbm(originProductEntity.getYbbm()); + } + if (StrUtil.isEmpty(udiProductEntity.getMeasname())) { + udiProductEntity.setMeasname(originProductEntity.getMeasname()); + } + if (StrUtil.isEmpty(udiProductEntity.getManufactory())) { + udiProductEntity.setManufactory(originProductEntity.getManufactory()); + } + if (StrUtil.isEmpty(udiProductEntity.getPrice())) { + udiProductEntity.setPrice(originProductEntity.getPrice()); + } + if (StrUtil.isEmpty(udiProductEntity.getSpmc())) { + udiProductEntity.setSpmc(originProductEntity.getSpmc()); + } + if (StrUtil.isEmpty(udiProductEntity.getCpms())) { + udiProductEntity.setCpms(originProductEntity.getCpms()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak1())) { + udiProductEntity.setBasicPrductRemak1(originProductEntity.getBasicPrductRemak1()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak2())) { + udiProductEntity.setBasicPrductRemak2(originProductEntity.getBasicPrductRemak2()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak3())) { + udiProductEntity.setBasicPrductRemak3(originProductEntity.getBasicPrductRemak3()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak4())) { + udiProductEntity.setBasicPrductRemak4(originProductEntity.getBasicPrductRemak4()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak5())) { + udiProductEntity.setBasicPrductRemak5(originProductEntity.getBasicPrductRemak5()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak6())) { + udiProductEntity.setBasicPrductRemak6(originProductEntity.getBasicPrductRemak6()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak7())) { + udiProductEntity.setBasicPrductRemak7(originProductEntity.getBasicPrductRemak7()); + } + if (StrUtil.isEmpty(udiProductEntity.getBasicPrductRemak8())) { + udiProductEntity.setBasicPrductRemak8(originProductEntity.getBasicPrductRemak8()); + } + } + } udiProductService.deleteByUuid(udiRelevanceEntity.getUuid()); udiRelevanceEntity.setUuid(udiInfoEntities.get(0).getUuid()); udiRelevanceEntity.setUpdateTime(new Date()); @@ -304,7 +355,6 @@ public class UdiContrastController { insertUdiInfos(udiInfoEntities); } - public UdiRelevanceEntity setThird(UdiCombineRequest udiCombineRequest, UdiRelevanceEntity udiRelevanceEntity) { FilterBasicThirdSysRequest request = new FilterBasicThirdSysRequest(); if ("thirdId".equals(udiCombineRequest.getThirdSys())) { diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index 7d113c064..98d2ee7b0 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -272,7 +272,7 @@ public class IoCodeTempController extends BaseController { checkSuccess = false; lostMsg = lostMsg + ",失效日期"; } - if (!checkUdi.getAllowNoSerial() && StrUtil.isEmpty(udiEntity.getSerialNo()) + if (checkUdi.getAllowNoSerial()!=null && !checkUdi.getAllowNoSerial() && StrUtil.isEmpty(udiEntity.getSerialNo()) ) { checkSuccess = false; lostMsg = lostMsg + ",序列号"; @@ -433,7 +433,7 @@ public class IoCodeTempController extends BaseController { String expireDate = "20" + udiEntity.getExpireDate(); long expireTime = MsDateUtil.parseDateExpire(expireDate); if (expireTime - System.currentTimeMillis() < 0) { - return ResultVOUtils.error(604, "当前产品已过期,无法添加?"); + return ResultVOUtils.error(604, "当前产品已过期,无法添加!"); } } } @@ -455,7 +455,7 @@ public class IoCodeTempController extends BaseController { if (resultTime > 0) { long time = resultTime / (24 * 60 * 60 * 1000); if (resultTime < recentTieme) { - return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "天,是否确定继续添加?"); + return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "时,是否确定继续添加?"); } } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java b/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java new file mode 100644 index 000000000..495b85e5d --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inout/IoDestinyProcessController.java @@ -0,0 +1,139 @@ +package com.glxp.api.controller.inout; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IoCodeRelResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; +import com.glxp.api.service.basic.BasicDestinyRelService; +import com.glxp.api.service.inout.IoDestinyProcessCodeService; +import com.glxp.api.service.inout.IoDestinyProcessDetailService; +import com.glxp.api.service.inout.IoDestinyProcessService; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@RestController +public class IoDestinyProcessController { + + @Resource + private BasicDestinyRelService basicDestinyRelService; + @Resource + private IoDestinyProcessDetailService ioDestinyProcessDetailService; + @Resource + private IoDestinyProcessCodeService ioDestinyProcessCodeService; + @Resource + private IoDestinyProcessService ioDestinyProcessService; + + + @PostMapping("/udiwms/basic/destiny/model/addDestinyDelect") + public BaseResponse addDestinyDelect(@RequestBody FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ioDestinyProcessDetailService.insertProcessDetail(filterUdiRelRequest); + + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessDelect") + public BaseResponse filterDestinyProcessDelect(FilterUdiRelRequest filterUdiRelRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiRelevanceResponseList = ioDestinyProcessDetailService.filterProcessDetail(filterUdiRelRequest); + + return ResultVOUtils.success(udiRelevanceResponseList); + } + + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcess") + public BaseResponse filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List iodestinyProcessResponseList = ioDestinyProcessDetailService.filterDestinyProcess(iodestinyProcessRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(iodestinyProcessResponseList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(iodestinyProcessResponseList); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/destiny/model/checkDestinyProcess") + public BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BaseResponse baseResponse = ioDestinyProcessDetailService.checkDestinyProcess(iodestinyProcessRequest); + + + return baseResponse; + } + + @GetMapping("/udiwms/basic/destiny/model/filterDestinyProcessCode") + public BaseResponse filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List iodestinyProcessResponseList = ioDestinyProcessCodeService.filterDestinyProcessCode(iodestinyProcessRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(iodestinyProcessResponseList); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(iodestinyProcessResponseList); + + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/destiny/model/addDestinyProcess") + public BaseResponse addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List ioDestinyProcessDetailEntityList= ioDestinyProcessDetailService.addDestinyProcess(iodestinyProcessRequest); + + for (IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity : ioDestinyProcessDetailEntityList) { + if(ioDestinyProcessDetailEntity.getCount()-ioDestinyProcessDetailEntity.getReCount()>0){ + return ResultVOUtils.error(999,"该单还未完全扫码校验!"); + } + } + //更新状态 + ioDestinyProcessService.uploadDestinyProcess(iodestinyProcessRequest); + + return ResultVOUtils.success(); + } + + @GetMapping("/udiwms/basic/destiny/model/delectDestinyProcess") + public BaseResponse delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + //更新状态 + ioDestinyProcessService.delectDestinyProcess(iodestinyProcessRequest); + + return ResultVOUtils.success(); + } + +} diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 41aaa7365..c98143e4d 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -241,7 +241,7 @@ public class IoOrderController extends BaseController { return ResultVOUtils.error(500, "单据未扫码或扫码校验无法通过,提交失败,请检查后重新提交!"); } IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); - + orderEntity.setRemark(addOrderRequest.getRemark()); BaseResponse tempResponse = checkSubmitEnable(orderEntity); if (tempResponse != null) return tempResponse; diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index d4dbaf346..a7aea8de6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -1,6 +1,7 @@ package com.glxp.api.controller.inout; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; @@ -15,15 +16,20 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.system.CompanyEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; +import com.glxp.api.res.inout.CptTraceResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.system.CompanyService; import com.glxp.api.service.system.SystemPDFModuleService; import com.glxp.api.service.system.SystemPDFTemplateService; import com.glxp.api.util.JasperUtils; @@ -98,8 +104,8 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.success(""); } orderDetailResultRequest.setActions(actions); - AuthAdmin authAdmin= customerService.getUserBean(); - if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())){ + AuthAdmin authAdmin = customerService.getUserBean(); + if (StrUtil.isBlank(orderDetailResultRequest.getInvCode())) { orderDetailResultRequest.setInvCode(authAdmin.getLocInvCode()); } List list = orderDetailResultService.filterOrderList(orderDetailResultRequest); @@ -196,8 +202,8 @@ public class IoOrderDetailResultController extends BaseController { */ @AuthRuleAnnotation("") @PostMapping("/udiwms/inout/resultDetail/filterOrderPrint") - public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { - List ioOrderDetailResultResponseList=new ArrayList<>(); + public BaseResponse filterOrderPrint(@RequestBody FilterOrderDetailResultRequest filterOrderDetailResultRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException { + List ioOrderDetailResultResponseList = new ArrayList<>(); SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderDetailResultRequest.getTemplateId()); //打印单号标签 Map data = new HashMap<>(1); @@ -205,9 +211,9 @@ public class IoOrderDetailResultController extends BaseController { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 //按选入打印 - if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){ - ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList(); - }else{ + if (filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size() > 0) { + ioOrderDetailResultResponseList = filterOrderDetailResultRequest.getList(); + } else { //按查询打印 FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType()); @@ -227,7 +233,7 @@ public class IoOrderDetailResultController extends BaseController { } } } - int i=1; + int i = 1; for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) { //组装数据 Map ioOrderDetailResultData = new HashMap<>(); @@ -244,7 +250,7 @@ public class IoOrderDetailResultController extends BaseController { ioOrderDetailResultData.put("spec", ioOrderDetailResultResponse.getSpec() == null ? ' ' : ioOrderDetailResultResponse.getSpec()); ioOrderDetailResultData.put("price", ioOrderDetailResultResponse.getPrice() == null ? ' ' : ioOrderDetailResultResponse.getPrice()); ioOrderDetailResultData.put("count", ioOrderDetailResultResponse.getCount()); - ioOrderDetailResultData.put("reCount",ioOrderDetailResultResponse.getReCount()); + ioOrderDetailResultData.put("reCount", ioOrderDetailResultResponse.getReCount()); ioOrderDetailResultData.put("inCount", ioOrderDetailResultResponse.getInCount()); ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount()); ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName()); @@ -257,10 +263,58 @@ public class IoOrderDetailResultController extends BaseController { data.put("data", list); String param = JSON.toJSONString(data); - JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); return ResultVOUtils.success(); } + @Resource + CompanyService companyService; + /** + * 提供UDI协调调用单据明细 + */ + @PostMapping("/udiCpt/inout/trace/search") + public BaseResponse cptTraceOrder(@RequestBody CptTraceRequest cptTraceRequest) { + if (StrUtil.isEmpty(cptTraceRequest.getBatchNo()) || CollUtil.isEmpty(cptTraceRequest.getDiList())) { + return ResultVOUtils.error(500, "参数有误!"); + } + CompanyEntity authCompany = companyService.findCompany(); + List cptTraceOrderResponses = orderDetailResultService.cptTrace(cptTraceRequest); + List cptTraceResultResponses = new ArrayList<>(); + if (CollUtil.isNotEmpty(cptTraceOrderResponses)) { + for (CptTraceOrderResponse cptTraceOrderResponse : cptTraceOrderResponses) { + CptTraceResultResponse cptTraceResultResponse = new CptTraceResultResponse(); + cptTraceResultResponse.setBillNo(cptTraceOrderResponse.getBillNo()); + cptTraceResultResponse.setBillDate(DateUtil.formatDate(cptTraceOrderResponse.getCreateTime())); + cptTraceResultResponse.setBillType(cptTraceOrderResponse.getBillType()); + if (cptTraceOrderResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + if (StrUtil.isNotEmpty(cptTraceOrderResponse.getFromInvCode())) + continue; + cptTraceResultResponse.setInOutType(2); + cptTraceResultResponse.setFromCorp(authCompany.getName()); + cptTraceResultResponse.setFromCorpCreditNum(authCompany.getCreditCode()); + + //往来单位为病人 + if (cptTraceOrderResponse.getCorpType() == 1 && cptTraceOrderResponse.getOutType() == 1) { + cptTraceResultResponse.setToUserInfo(cptTraceOrderResponse.getFromCorpName()); + } else { + cptTraceResultResponse.setToCorp(cptTraceOrderResponse.getFromCorpName()); + cptTraceResultResponse.setToCorpCreditNum(cptTraceOrderResponse.getCreditNo()); + } + } else { + cptTraceResultResponse.setInOutType(1); + cptTraceResultResponse.setFromCorp(cptTraceOrderResponse.getFromCorpName()); + cptTraceResultResponse.setFromCorpCreditNum(cptTraceOrderResponse.getCreditNo()); + cptTraceResultResponse.setToCorp(authCompany.getName()); + cptTraceResultResponse.setToCorpCreditNum(authCompany.getCreditCode()); + } + + cptTraceResultResponses.add(cptTraceResultResponse); + } + } + + return ResultVOUtils.success(cptTraceResultResponses); + + } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java index 7893e1ee9..cfcfd7fda 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderMutiController.java @@ -328,6 +328,21 @@ public class IoOrderMutiController { @PostMapping("/udiwms/inout/order/muti/addMutiDetail") public BaseResponse addMutiDetail(@RequestBody IoOrderMutiUseEntity ioOrderMutiUseEntity) { + + if (ioOrderMutiUseEntity.getCheckType() !=null && ioOrderMutiUseEntity.getCheckType() == 1) { + IoOrderMutiRequest ioOrderMutiRequest=new IoOrderMutiRequest(); + ioOrderMutiRequest.setStatus(0); + ioOrderMutiRequest.setUdiCode(ioOrderMutiUseEntity.getUdiCode()); + ioOrderMutiRequest.setMark(ioOrderMutiUseEntity.getMark()); + List ioOrderMutiEntityList = ioOrderMutiService.filterList(ioOrderMutiRequest); + if (ioOrderMutiEntityList.size() <= 0) { + return ResultVOUtils.error(999, "该产品不存在此标识!"); + } + if (ioOrderMutiEntityList.get(0).getReCount() <= 0) { + return ResultVOUtils.error(999, "该产品可使用数量不足!"); + } + } + //判断是不是个人使用 AuthAdmin authAdmin = customerService.getUserBean(); QueryWrapper setEw = new QueryWrapper<>(); diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsExportLogController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsExportLogController.java index ae2db63d8..73f568f57 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsExportLogController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsExportLogController.java @@ -118,6 +118,45 @@ public class ThrProductsExportLogController { //产品信息导出生成Excel,并创建生成记录 @PostMapping("/udiwms/thrProducts/importLog/export") public BaseResponse excelDownload(@RequestBody ThrProductsExportRequest thrProductsExportRequest) { + ThrProductsExportLogEntity thrProductsExportLogEntity = new ThrProductsExportLogEntity(); + FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); + filterThrProductsRequest.setThirdSysFk(thrProductsExportRequest.getThirdSys()); + filterThrProductsRequest.setThirdSys(thrProductsExportRequest.getThirdSys()); + //List thrProductsEntities = thrProductsService.filterThrProducts1(filterThrProductsRequest); + //thrProductsExportRequest.setThrProductsEntities(thrProductsEntities); + thrProductsExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + String genKey = CustomUtil.getId(); + String fileName = "D:\\udiwms\\exportFile\\" + "第三方产品信息" + genKey + ".UpperIn"; + File file = new File(fileName); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e) { + e.printStackTrace(); + } + } + List thrProductsEntityList = thrProductsExportRequest.getThrProductsEntities(); + thrProductsExportLogEntity.setGenKey(genKey); + thrProductsExportLogEntity.setFilePath(fileName); + thrProductsExportLogEntity.setUpdateTime(new Date()); + thrProductsExportLogEntity.setDlCount(0); + thrProductsExportLogEntity.setType(BasicProcessStatus.EXPORT_JSON); + thrProductsExportLogEntity.setUpdateUser(String.valueOf(customerService.getUserId())); + thrProductsExportLogEntity.setCreateUser(String.valueOf(customerService.getUserId())); + thrProductsExportLogEntity.setUpdateTime(new Date()); + thrProductsExportLogEntity.setCreateTime(new Date()); + thrProductsExportLogEntity.setRemark("本次导出数据" + thrProductsEntityList.size() + "条"); + thrProductsExportLogService.insertThrProductsExportLog(thrProductsExportLogEntity); + //thrProductsDlService.genExcel(genKey, thrProductsExportRequest); + //修改为导出json文件 + thrProductsDlService.genJsonFile(genKey, thrProductsExportRequest); + + return ResultVOUtils.success("后台正在导出生成udi文件,请稍后刷新查看!"); + } + + //产品信息导出生成Excel,并创建生成记录 + @PostMapping("/udiwms/thrProducts/importLog/exportAll") + public BaseResponse excelDownloadAll(@RequestBody ThrProductsExportRequest thrProductsExportRequest) { ThrProductsExportLogEntity thrProductsExportLogEntity = new ThrProductsExportLogEntity(); FilterThrProductsRequest filterThrProductsRequest = new FilterThrProductsRequest(); filterThrProductsRequest.setThirdSysFk(thrProductsExportRequest.getThirdSys()); @@ -135,6 +174,7 @@ public class ThrProductsExportLogController { e.printStackTrace(); } } + List thrProductsEntityList = thrProductsExportRequest.getThrProductsEntities(); thrProductsExportLogEntity.setGenKey(genKey); thrProductsExportLogEntity.setFilePath(fileName); thrProductsExportLogEntity.setUpdateTime(new Date()); @@ -144,6 +184,7 @@ public class ThrProductsExportLogController { thrProductsExportLogEntity.setCreateUser(String.valueOf(customerService.getUserId())); thrProductsExportLogEntity.setUpdateTime(new Date()); thrProductsExportLogEntity.setCreateTime(new Date()); + thrProductsExportLogEntity.setRemark("本次导出数据" + thrProductsEntityList.size() + "条"); thrProductsExportLogService.insertThrProductsExportLog(thrProductsExportLogEntity); //thrProductsDlService.genExcel(genKey, thrProductsExportRequest); //修改为导出json文件 diff --git a/src/main/java/com/glxp/api/dao/auth/AuthAdminDao.java b/src/main/java/com/glxp/api/dao/auth/AuthAdminDao.java index e496b2901..7ddf8ebdb 100644 --- a/src/main/java/com/glxp/api/dao/auth/AuthAdminDao.java +++ b/src/main/java/com/glxp/api/dao/auth/AuthAdminDao.java @@ -3,6 +3,7 @@ package com.glxp.api.dao.auth; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.req.auth.FilterAuthUserRequest; +import com.glxp.api.req.auth.UpdateUserRequset; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -60,6 +61,8 @@ public interface AuthAdminDao extends BaseMapperPlus { + + List filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest); } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java index 6c9c05b32..3c59f7e55 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoDestinyProcessDetailMapper.java @@ -1,9 +1,23 @@ package com.glxp.api.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; +import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper -public interface IoDestinyProcessDetailMapper extends BaseMapper { +public interface IoDestinyProcessDetailMapper extends BaseMapperPlus { + + List filterDestinyProducts(FilterUdiRelRequest filterUdiRelRequest); + + List filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java index d4548eb7a..69683c5c9 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java @@ -2,7 +2,9 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import io.lettuce.core.dynamic.annotation.Param; @@ -32,4 +34,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus selectStatDataByTime(@Param("list") List orderIdFk); + + List cptTrace(CptTraceRequest cptTraceRequest); } diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java index 0a1b789e3..ab955ed8d 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessCodeEntity.java @@ -79,4 +79,15 @@ public class IoDestinyProcessCodeEntity { @TableField(value = "updateTime") private Date updateTime; + + @TableField(value = "code") + private String code; + + + @TableField(value = "serialNo") + private String serialNo; + + @TableField(value = "reCount") + private int reCount; + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java index 864eb342a..70970557c 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessDetailEntity.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.util.Date; + /** * 定数包产品关联表 */ @@ -32,4 +34,13 @@ public class IoDestinyProcessDetailEntity { */ @TableField(value = "reCount") private Integer reCount; + + @TableField(value = "updateTime") + private Date updateTime; + + /** + * 订单号外键 + */ + @TableField(value = "orderIdFk") + private String orderIdFk; } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java index 4f502b5b2..96da4722a 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoDestinyProcessEntity.java @@ -20,13 +20,13 @@ public class IoDestinyProcessEntity { * 定数包模板id */ @TableField(value = "destinyId") - private Long destinyId; + private String destinyId; /** * 唯一编码 */ @TableField(value = "destinyNo") - private Long destinyNo; + private String destinyNo; /** * 单据号 diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java index 806bd3a48..f7989c410 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderMutiUseEntity.java @@ -64,4 +64,13 @@ public class IoOrderMutiUseEntity { @TableField(exist=false) private String createUserName; + + @TableField(exist = false) + private Integer checkType; + + @TableField(exist = false) + private String mark; + + @TableField(exist = false) + private String udiCode; } diff --git a/src/main/java/com/glxp/api/req/auth/FilterAuthUserRequest.java b/src/main/java/com/glxp/api/req/auth/FilterAuthUserRequest.java index 5037b4a75..11859c1d5 100644 --- a/src/main/java/com/glxp/api/req/auth/FilterAuthUserRequest.java +++ b/src/main/java/com/glxp/api/req/auth/FilterAuthUserRequest.java @@ -12,6 +12,8 @@ public class FilterAuthUserRequest extends ListPageRequest { private String userName; + private String deptName; + private Integer userFlag; private Long roleId; diff --git a/src/main/java/com/glxp/api/req/auth/FilterDeptUserReqeust.java b/src/main/java/com/glxp/api/req/auth/FilterDeptUserReqeust.java index 998eabc46..163b74e6d 100644 --- a/src/main/java/com/glxp/api/req/auth/FilterDeptUserReqeust.java +++ b/src/main/java/com/glxp/api/req/auth/FilterDeptUserReqeust.java @@ -7,6 +7,6 @@ import lombok.Data; public class FilterDeptUserReqeust extends ListPageRequest { private Long deptId; private Long userId; - + private String deptName; private String key; } diff --git a/src/main/java/com/glxp/api/req/auth/UpdateUserRequset.java b/src/main/java/com/glxp/api/req/auth/UpdateUserRequset.java new file mode 100644 index 000000000..c3a94ee66 --- /dev/null +++ b/src/main/java/com/glxp/api/req/auth/UpdateUserRequset.java @@ -0,0 +1,38 @@ +package com.glxp.api.req.auth; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.glxp.api.entity.auth.SysRole; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class UpdateUserRequset { + // 主键 + private Long id; + private String userName; + // 登录密码 + private String passWord; + private String newPassword; + private String confirmPassword; + // 最后登录ip + private String lastLoginIp; + // 最后登录时间 + private Date lastLoginTime; + // 创建时间 + private Date createTime; + // 状态 + private Integer userFlag; + private Date lastModifyTime; + private String comments; + private String employeeName; + private Long CustomerId; + private String locDeptCode; + private String locInvCode; + private String deptName; + private List roles; + private Long[] roleIds; + + +} diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java index 9d4ac2525..e793b3db6 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java @@ -3,6 +3,7 @@ package com.glxp.api.req.basic; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; +import java.util.Date; import java.util.List; @Data @@ -89,4 +90,13 @@ public class FilterUdiRelRequest extends ListPageRequest { private String basicPrductRemak7; private String basicPrductRemak8; + //定数包参数 + private String destinyId; + private String destinyNo; + private String billNo; + private Date billDate; + private String invCode; + private String remark; + + } diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index f800b82f6..ad736bdca 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -9,6 +9,7 @@ public class AddOrderRequest { private String mainAction; private String action; private String fromCorp; + private String fromCorpName; private String fromInvCode; private String deptCode; private String invCode; @@ -30,7 +31,7 @@ public class AddOrderRequest { private String checkPreInOrders; private String selectSupId; private Long relId; - + private Integer checkVailDate; // 预验收货位 private String checkPreInSpaceCode; private String curSpaceCode; diff --git a/src/main/java/com/glxp/api/req/inout/CptTraceRequest.java b/src/main/java/com/glxp/api/req/inout/CptTraceRequest.java new file mode 100644 index 000000000..64a3c849e --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/CptTraceRequest.java @@ -0,0 +1,89 @@ +package com.glxp.api.req.inout; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * 客户端查询任务列表实体类 + */ +@Data +public class CptTraceRequest { + + + /** + * 按UDI码查询出入库信息 + */ + private String udiCode; + + /** + * 查询记录表ID外键 + */ + private Long produdctRecordIdFk; + + /** + * 任务类型 1:关联关系;2:入库;3:出库 + */ + private Integer taskType; + + /** + * DI标识列表,多级包装会有多个DI + * DI标识数组,逗号隔开 + */ + private List diList; + + /** + * 企业信息ID外键 + */ + private Long companyIdFk; + + /** + * 医疗器械注册人 + */ + private String ylqxzcrbarmc; + + /** + * 医疗器械注册人统一社会信用号 + */ + private String creditNum; + + /** + * 产品名称 + */ + private String cpmctymc; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 批次号 + */ + private String batchNo; + /** + * 生成日期 + */ + private String produceDate; + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 任务创建时间 + */ + private Date createTime; + /** + * 任务更新时间 + */ + private Date updateTime; + + +} diff --git a/src/main/java/com/glxp/api/req/inout/IodestinyProcessRequest.java b/src/main/java/com/glxp/api/req/inout/IodestinyProcessRequest.java new file mode 100644 index 000000000..5ef885472 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IodestinyProcessRequest.java @@ -0,0 +1,15 @@ +package com.glxp.api.req.inout; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class IodestinyProcessRequest extends ListPageRequest { + + private String billNo; + + private String invCode; + + private String code; + +} diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index dde051c2d..b430c4e94 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -100,6 +100,8 @@ public class UdiRelevanceResponse { private String relCode; private int index; + private int reCount; + //关联查询字典 private String unitFk; //供应商ID private String companyName; //供应商名称 @@ -121,7 +123,7 @@ public class UdiRelevanceResponse { private String syqsfxyjxmj; private String mjfs; private String categoryName; - private int count; + private Integer count; private Long deId; @@ -153,6 +155,12 @@ public class UdiRelevanceResponse { return allowNoProduct; } + public Boolean getAllowNoSerial() { + + if (allowNoSerial == null) + return true; + return allowNoSerial; + } public Boolean getUseDy() { if (isUseDy == null) diff --git a/src/main/java/com/glxp/api/res/inout/CptTraceOrderResponse.java b/src/main/java/com/glxp/api/res/inout/CptTraceOrderResponse.java new file mode 100644 index 000000000..53de6cace --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/CptTraceOrderResponse.java @@ -0,0 +1,21 @@ +package com.glxp.api.res.inout; + +import lombok.Data; + +import java.util.Date; + +@Data +public class CptTraceOrderResponse { + + private String billNo; + private Date createTime; + private String mainAction; + private String billType; + private String fromCorpName; + private String creditNo; + private String action; + private String fromInvCode; + private Integer outType; + private Integer corpType; + private Integer count; +} diff --git a/src/main/java/com/glxp/api/res/inout/CptTraceResultResponse.java b/src/main/java/com/glxp/api/res/inout/CptTraceResultResponse.java new file mode 100644 index 000000000..c8c6599dc --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/CptTraceResultResponse.java @@ -0,0 +1,146 @@ +package com.glxp.api.res.inout; + +import cn.hutool.core.util.StrUtil; +import lombok.Data; + +import java.util.Date; + +@Data +public class CptTraceResultResponse { + + + private Long id; + + /** + * 单据号 + */ + private String billNo; + + /** + * 单据时间 + */ + private String billDate; + + /** + * 1:入库;2:出库 + */ + private Integer inOutType; + + /** + * 单据类型 + */ + private String billType; + + /** + * 发货企业 + */ + private String fromCorp; + + /** + * 发货企业统一社会信用号 + */ + private String fromCorpCreditNum; + + /** + * 收货企业 + */ + private String toCorp; + + /** + * 收货企业统一社会信用号 + */ + private String toCorpCreditNum; + + private String toUserInfo; + + /** + * 单据创建者 + */ + private Long createUser; + + /** + * 当前企业信息ID外键 + */ + private Long companyIdFk; + + /** + * 当前企业名称 + */ + private String companyName; + + /** + * 当前企业统一社会信用号 + */ + private String companyCertNum; + + /** + * 客户端类型 + */ + private Integer clientType; + + /** + * 退货原因(退货时填写) + */ + private String returnReason; + + /** + * 销毁原因(销毁时填写) + */ + private String destoryReason; + + /** + * 执行销毁人(销毁时填写) + */ + private String excuseUser; + + /** + * 执行销毁人证件号(销毁时填写) + */ + private String excuseCode; + + /** + * 监督人姓名【销毁出库时填写】 + */ + private String superviserUser; + + /** + * 监督人证件号【销毁出库时填写】 + */ + private String superviserCode; + + /** + * 上传着ID + */ + private Long uploadUser; + + /** + * 备注 + */ + private String remark; + + /** + * 更新时间 + */ + private Date updateTime; + + //关联信息 + private String cpmctymc; + private String nameCode; + private String ggxh; + private String ylqxzcrbarmc; + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String udiCode; + private String zczbhhzbapzbh; + private String recordCode; + private Integer count; + + public String getToCorp() { + if (StrUtil.isEmpty(toCorp)) + return toUserInfo; + return toCorp; + } + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java b/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java index 7012b514c..5ab80ef06 100644 --- a/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoCodeTempResponse.java @@ -120,5 +120,7 @@ public class IoCodeTempResponse { * 供应商名称 */ private String supName; + private String remark; + } diff --git a/src/main/java/com/glxp/api/res/inout/IodestinyProcessResponse.java b/src/main/java/com/glxp/api/res/inout/IodestinyProcessResponse.java new file mode 100644 index 000000000..0701fa134 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IodestinyProcessResponse.java @@ -0,0 +1,101 @@ +package com.glxp.api.res.inout; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class IodestinyProcessResponse { + + + private Long id; + + private String destinyId; + + private String destinyNo; + + private String billNo; + + private Date billDate; + + private String invCode; + + private String remark; + + private Date createTime; + + private Date updateTime; + + private String createUser; + + private String updateUser; + + private Integer status; + + private String invName; + + private String updateName; + private String createName; + private String code; + + private String serialNo; + private String productDate; + private String expireDate; + private BigDecimal price; + private String batchNo; + private int count; + private int reCount; + + + + + //产品 + private String originUuid; + private String nameCode; + private String deviceRecordKey; + private String packRatio; + private String packLevel; + private String packUnit; + private Integer bhxjsl; + private Integer bhzxxsbzsl; + private Integer zxxsbzbhsydysl; + private String bhxjcpbm; + private String bzcj; + private String cpmctymc; + private String cplb; + private String flbm; + private String ggxh; + private String qxlb; + private String tyshxydm; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String ylqxzcrbarywmc; + private String sydycpbs; + private String sjcpbm; + private Integer versionNumber; + private Integer diType; + private String ybbm; + private String sptm; + private String manufactory; + private String measname; + private Integer productType; + private String scbssfbhph; + private String scbssfbhxlh; + private String scbssfbhscrq; + private String scbssfbhsxrq; + private String cpms; + private Boolean allowNoBatch; + private Boolean allowNoExpire; + private Boolean allowNoProduct; + private Boolean allowNoSerial; + private String spmc; + private String cplx; + private String hchzsb; + private String cpdls; + +} diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrBusTypeOriginResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrBusTypeOriginResponse.java index e194717be..1d0c28da6 100644 --- a/src/main/java/com/glxp/api/res/thrsys/ThrBusTypeOriginResponse.java +++ b/src/main/java/com/glxp/api/res/thrsys/ThrBusTypeOriginResponse.java @@ -16,7 +16,7 @@ public class ThrBusTypeOriginResponse { /** * id */ - private Integer id; + private Long id; /** * 单据类型名称 diff --git a/src/main/java/com/glxp/api/service/auth/AuthAdminService.java b/src/main/java/com/glxp/api/service/auth/AuthAdminService.java index 9ecd12eff..9eee80df9 100644 --- a/src/main/java/com/glxp/api/service/auth/AuthAdminService.java +++ b/src/main/java/com/glxp/api/service/auth/AuthAdminService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.req.auth.FilterAuthUserRequest; import com.glxp.api.req.auth.FilterNoSelectUserRequest; +import com.glxp.api.req.auth.UpdateUserRequset; import java.util.List; @@ -24,6 +25,8 @@ public interface AuthAdminService extends IService { boolean updateAuthAdmin(AuthAdmin authAdmin); + boolean updateUser(UpdateUserRequset updateUserRequset); + boolean deleteById(Long id); /** diff --git a/src/main/java/com/glxp/api/service/auth/CustomerService.java b/src/main/java/com/glxp/api/service/auth/CustomerService.java index 747bfe855..4ac834d2f 100644 --- a/src/main/java/com/glxp/api/service/auth/CustomerService.java +++ b/src/main/java/com/glxp/api/service/auth/CustomerService.java @@ -3,6 +3,8 @@ package com.glxp.api.service.auth; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.exception.JsonException; +import com.glxp.api.req.auth.UpdateUserRequset; +import lombok.val; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -50,4 +52,9 @@ public class CustomerService { return authAdmin.getUserName(); } + + public boolean update(UpdateUserRequset updateUserRequset) { + + return authAdminService.updateUser(updateUserRequset); + } } diff --git a/src/main/java/com/glxp/api/service/auth/impl/AuthAdminServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/AuthAdminServiceImpl.java index 14057b69a..ef1e8996d 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/AuthAdminServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/AuthAdminServiceImpl.java @@ -12,6 +12,7 @@ import com.glxp.api.exception.JsonException; import com.glxp.api.req.auth.FilterAuthUserRequest; import com.glxp.api.req.auth.FilterNoSelectUserRequest; import com.glxp.api.req.auth.FilterUserRoleRequest; +import com.glxp.api.req.auth.UpdateUserRequset; import com.glxp.api.service.auth.AuthAdminService; import com.glxp.api.common.enums.ResultEnum; import org.springframework.stereotype.Service; @@ -115,6 +116,23 @@ public class AuthAdminServiceImpl extends ServiceImpl i return authAdminDao.updateAuthAdmin(authAdmin); } + @Override + public boolean updateUser(UpdateUserRequset updateUserRequset) { + if (updateUserRequset.getId() == null) { + return false; + } + return authAdminDao.updateUser(updateUserRequset); + } + +// @Override +// public boolean updateAuthAdmin(UpdateUserRequset updateUserRequset) { +// +// if (updateUserRequset.getId() == null) { +// return false; +// } +// return authAdminDao.updateUser(updateUserRequset); +// } + /** * 根据id删除 * diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java index 76a0e54fb..c7abffd21 100644 --- a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessCodeService.java @@ -2,7 +2,14 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.inout.IodestinyProcessResponse; + +import java.util.List; + public interface IoDestinyProcessCodeService{ + List filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest); + } diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java index b51861a54..d6d1c6bad 100644 --- a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessDetailService.java @@ -1,8 +1,24 @@ package com.glxp.api.service.inout; +import com.glxp.api.common.res.BaseResponse; import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; + +import java.util.List; + public interface IoDestinyProcessDetailService{ + Boolean insertProcessDetail(FilterUdiRelRequest filterUdiRelRequest); + + List addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + List filterProcessDetail(FilterUdiRelRequest filterUdiRelRequest); + + List filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); } diff --git a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java index 24633790e..bdf36276a 100644 --- a/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java +++ b/src/main/java/com/glxp/api/service/inout/IoDestinyProcessService.java @@ -1,6 +1,14 @@ package com.glxp.api.service.inout; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; + public interface IoDestinyProcessService{ + Boolean uploadDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + Boolean delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest); + + } diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java index fc8e1f92f..9f6affdf1 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java @@ -2,7 +2,9 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import java.util.List; @@ -24,4 +26,5 @@ public interface IoOrderDetailResultService { List filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest); + List cptTrace(CptTraceRequest cptTraceRequest); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java index e98d51ac2..621fd43b2 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessCodeServiceImpl.java @@ -1,8 +1,28 @@ package com.glxp.api.service.inout.impl; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.inout.IodestinyProcessResponse; import org.springframework.stereotype.Service; import com.glxp.api.service.inout.IoDestinyProcessCodeService; + +import javax.annotation.Resource; +import java.util.List; + @Service public class IoDestinyProcessCodeServiceImpl implements IoDestinyProcessCodeService { + @Resource + IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper; + + @Override + public List filterDestinyProcessCode(IodestinyProcessRequest iodestinyProcessRequest) { + + if (iodestinyProcessRequest.getPage() != null) { + int offset = (iodestinyProcessRequest.getPage() - 1) * iodestinyProcessRequest.getLimit(); + PageHelper.offsetPage(offset, iodestinyProcessRequest.getLimit()); + } + return ioDestinyProcessCodeMapper.filterDestinyProcessCode(iodestinyProcessRequest); + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java index 5812f8875..b89b3c989 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessDetailServiceImpl.java @@ -1,11 +1,221 @@ package com.glxp.api.service.inout.impl; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper; +import com.glxp.api.dao.inout.IoDestinyProcessMapper; +import com.glxp.api.entity.auth.AuthAdmin; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; +import com.glxp.api.entity.inout.IoDestinyProcessEntity; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.inout.IodestinyProcessRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.inout.IodestinyProcessResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.basic.BasicDestinyRelService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.inout.IoDestinyProcessService; +import com.glxp.api.util.udi.FilterUdiUtils; +import com.glxp.api.util.udi.UdiCalCountUtil; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.inout.IoDestinyProcessDetailMapper; import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; import com.glxp.api.service.inout.IoDestinyProcessDetailService; + +import javax.annotation.Resource; +import java.awt.geom.QuadCurve2D; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + @Service -public class IoDestinyProcessDetailServiceImpl implements IoDestinyProcessDetailService{ +public class IoDestinyProcessDetailServiceImpl implements IoDestinyProcessDetailService { + + + @Resource + private BasicDestinyRelService basicDestinyRelService; + @Resource + private IoDestinyProcessDetailMapper ioDestinyProcessDetailMapper; + @Resource + private IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper; + + @Resource + CustomerService customerService; + @Resource + IoDestinyProcessMapper ioDestinyProcessMapper; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + UdiCalCountUtil udiCalCountUtil; + + + @Override + public Boolean insertProcessDetail(FilterUdiRelRequest filterUdiRelRequest) { + //删除原数据 + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",filterUdiRelRequest.getBillNo()); + long count= ioDestinyProcessDetailMapper.delete(ew); + + QueryWrapper ew1=new QueryWrapper<>(); + ew1.eq("orderIdFk",filterUdiRelRequest.getBillNo()); + ioDestinyProcessCodeMapper.delete(ew1); + filterUdiRelRequest.setDestinyId(filterUdiRelRequest.getDestinyId()); + filterUdiRelRequest.setDiType(1); + List thrProductsEntities = basicDestinyRelService.filterDestinyProducts(filterUdiRelRequest); + + AuthAdmin authAdmin= customerService.getUserBean(); + IoDestinyProcessEntity ioDestinyProcessEntity=new IoDestinyProcessEntity(); + // 插入主表 + if(count>0){ + QueryWrapper ew2=new QueryWrapper<>(); + ew2.eq("billNo",filterUdiRelRequest.getBillNo()); + ioDestinyProcessEntity=ioDestinyProcessMapper.selectOne(ew2); + ioDestinyProcessEntity.setCreateTime(new Date()); + ioDestinyProcessEntity.setUpdateTime(new Date()); + ioDestinyProcessEntity.setCreateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setUpdateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setInvCode(filterUdiRelRequest.getInvCode()); + ioDestinyProcessEntity.setRemark(filterUdiRelRequest.getRemark()); + ioDestinyProcessMapper.updateById(ioDestinyProcessEntity); + }else{ + ioDestinyProcessEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessEntity.setDestinyNo(filterUdiRelRequest.getDestinyNo()); + ioDestinyProcessEntity.setDestinyId(filterUdiRelRequest.getDestinyId()); + ioDestinyProcessEntity.setBillNo(filterUdiRelRequest.getBillNo()); + ioDestinyProcessEntity.setBillDate(filterUdiRelRequest.getBillDate()); + ioDestinyProcessEntity.setRemark(filterUdiRelRequest.getRemark()); + ioDestinyProcessEntity.setInvCode(filterUdiRelRequest.getInvCode()); + ioDestinyProcessEntity.setCreateTime(new Date()); + ioDestinyProcessEntity.setUpdateTime(new Date()); + ioDestinyProcessEntity.setCreateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setUpdateUser(authAdmin.getId() + ""); + ioDestinyProcessEntity.setStatus(0); + ioDestinyProcessMapper.insert(ioDestinyProcessEntity); + } + + // 插入详情表 + List ioDestinyProcessDetailEntityList=new ArrayList<>(); + for (UdiRelevanceResponse thrProductsEntity : thrProductsEntities) { + IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity=new IoDestinyProcessDetailEntity(); + ioDestinyProcessDetailEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessDetailEntity.setCount(thrProductsEntity.getCount()); + ioDestinyProcessDetailEntity.setRelId(thrProductsEntity.getId()); + ioDestinyProcessDetailEntity.setReCount(0); + ioDestinyProcessDetailEntity.setUpdateTime(new Date()); + ioDestinyProcessDetailEntity.setOrderIdFk(ioDestinyProcessEntity.getBillNo()); + ioDestinyProcessDetailEntityList.add(ioDestinyProcessDetailEntity); + thrProductsEntity.setReCount(0); + } + ioDestinyProcessDetailMapper.insertBatch(ioDestinyProcessDetailEntityList); + + return true; + } + + @Override + public List addDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + List ioDestinyProcessDetailEntity=ioDestinyProcessDetailMapper.selectList(ew); + return ioDestinyProcessDetailEntity; + } + + @Override + public List filterProcessDetail(FilterUdiRelRequest filterUdiRelRequest) { + //查询详情 + List thrProductsEntities = ioDestinyProcessDetailMapper.filterDestinyProducts(filterUdiRelRequest); + return thrProductsEntities; + } + + @Override + public List filterDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + if (iodestinyProcessRequest.getPage() != null) { + int offset = (iodestinyProcessRequest.getPage() - 1) * iodestinyProcessRequest.getLimit(); + PageHelper.offsetPage(offset, iodestinyProcessRequest.getLimit()); + } + return ioDestinyProcessDetailMapper.filterDestinyProcess(iodestinyProcessRequest); + } + + @Override + public BaseResponse checkDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + UdiEntity udiEntity = FilterUdiUtils.getUdi(iodestinyProcessRequest.getCode()); + UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + if (checkUdi ==null){ + return ResultVOUtils.error(500, "耗材字典不存在此产品!"); + } + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + ew.eq("relId",checkUdi.getRelId()); + IoDestinyProcessDetailEntity ioDestinyProcessDetailEntity=ioDestinyProcessDetailMapper.selectOne(ew); + if(ioDestinyProcessDetailEntity == null){ + return ResultVOUtils.error(500, "定数包不存在此产品!"); + } + if(ioDestinyProcessDetailEntity.getCount()-ioDestinyProcessDetailEntity.getReCount()<=0){ + return ResultVOUtils.error(500, "该产品已足够!"); + } + int count = udiCalCountUtil.getActCount(udiEntity.getUdi()); + ioDestinyProcessDetailEntity.setReCount(ioDestinyProcessDetailEntity.getReCount()+count); + ioDestinyProcessDetailMapper.updateById(ioDestinyProcessDetailEntity); + //判断有没有序列号 + //有 + if (udiEntity.getSerialNo()!=null){ + //插入详细表 + IoDestinyProcessCodeEntity ioDestinyProcessCodeEntity=new IoDestinyProcessCodeEntity(); + ioDestinyProcessCodeEntity.setCode(iodestinyProcessRequest.getCode()); + ioDestinyProcessCodeEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessCodeEntity.setOrderIdFk(iodestinyProcessRequest.getBillNo()); + ioDestinyProcessCodeEntity.setBindRlFk(checkUdi.getRelId() + ""); + ioDestinyProcessCodeEntity.setUuidFk(checkUdi.getUuid()); + ioDestinyProcessCodeEntity.setNameCode(checkUdi.getNameCode()); + ioDestinyProcessCodeEntity.setCount(1); + ioDestinyProcessCodeEntity.setReCount(count); + ioDestinyProcessCodeEntity.setProductDate(udiEntity.getProduceDate()); + ioDestinyProcessCodeEntity.setExpireDate(udiEntity.getExpireDate()); + ioDestinyProcessCodeEntity.setBatchNo(udiEntity.getBatchNo()); + ioDestinyProcessCodeEntity.setPrice(checkUdi.getPrice()); + ioDestinyProcessCodeEntity.setSerialNo(udiEntity.getSerialNo()); + ioDestinyProcessCodeEntity.setUpdateTime(new Date()); + ioDestinyProcessCodeMapper.insert(ioDestinyProcessCodeEntity); + }else{ + //无批次号的时候判断是不是第一次是第一次就插入不是第一此就更新 + QueryWrapper ew1=new QueryWrapper<>(); + ew1.eq("code",iodestinyProcessRequest.getCode()); + ew1.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + ew1.last("limit 1"); + IoDestinyProcessCodeEntity ioDestinyProcessCodeEntity=ioDestinyProcessCodeMapper.selectOne(ew1); + if(ioDestinyProcessCodeEntity==null){ + //插入详细表 + ioDestinyProcessCodeEntity=new IoDestinyProcessCodeEntity(); + ioDestinyProcessCodeEntity.setCode(iodestinyProcessRequest.getCode()); + ioDestinyProcessCodeEntity.setId(IdUtil.getSnowflakeNextId()); + ioDestinyProcessCodeEntity.setOrderIdFk(iodestinyProcessRequest.getBillNo()); + ioDestinyProcessCodeEntity.setBindRlFk(checkUdi.getRelId() + ""); + ioDestinyProcessCodeEntity.setUuidFk(checkUdi.getUuid()); + ioDestinyProcessCodeEntity.setNameCode(checkUdi.getNameCode()); + ioDestinyProcessCodeEntity.setCount(1); + ioDestinyProcessCodeEntity.setReCount(count); + ioDestinyProcessCodeEntity.setProductDate(udiEntity.getProduceDate()); + ioDestinyProcessCodeEntity.setExpireDate(udiEntity.getExpireDate()); + ioDestinyProcessCodeEntity.setBatchNo(udiEntity.getBatchNo()); + ioDestinyProcessCodeEntity.setPrice(checkUdi.getPrice()); + ioDestinyProcessCodeEntity.setSerialNo(udiEntity.getSerialNo()); + ioDestinyProcessCodeEntity.setUpdateTime(new Date()); + ioDestinyProcessCodeMapper.insert(ioDestinyProcessCodeEntity); + return ResultVOUtils.success(); + } + ioDestinyProcessCodeEntity.setCount(ioDestinyProcessCodeEntity.getReCount()+1); + ioDestinyProcessCodeEntity.setReCount(ioDestinyProcessCodeEntity.getReCount()+count); + ioDestinyProcessCodeMapper.updateById(ioDestinyProcessCodeEntity); + } + return ResultVOUtils.success(); + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java index fa72cff7c..ced10c56e 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDestinyProcessServiceImpl.java @@ -1,10 +1,55 @@ package com.glxp.api.service.inout.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.glxp.api.dao.inout.IoDestinyProcessCodeMapper; +import com.glxp.api.dao.inout.IoDestinyProcessDetailMapper; +import com.glxp.api.dao.inout.IoDestinyProcessMapper; +import com.glxp.api.entity.inout.IoDestinyProcessCodeEntity; +import com.glxp.api.entity.inout.IoDestinyProcessDetailEntity; +import com.glxp.api.entity.inout.IoDestinyProcessEntity; +import com.glxp.api.req.inout.IodestinyProcessRequest; import com.glxp.api.service.inout.IoDestinyProcessService; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + @Service public class IoDestinyProcessServiceImpl implements IoDestinyProcessService { + @Resource + IoDestinyProcessMapper ioDestinyProcessMapper; + @Resource + private IoDestinyProcessDetailMapper ioDestinyProcessDetailMapper; + @Resource + private IoDestinyProcessCodeMapper ioDestinyProcessCodeMapper; + + @Override + public Boolean uploadDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + QueryWrapper ew = new QueryWrapper<>(); + ew.eq("billNo", iodestinyProcessRequest.getBillNo()); + IoDestinyProcessEntity ioDestinyProcessEntity = ioDestinyProcessMapper.selectOne(ew); + ioDestinyProcessEntity.setStatus(2); + ioDestinyProcessMapper.updateById(ioDestinyProcessEntity); + return null; + } + + @Override + public Boolean delectDestinyProcess(IodestinyProcessRequest iodestinyProcessRequest) { + + + QueryWrapper ew=new QueryWrapper<>(); + ew.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + long count= ioDestinyProcessDetailMapper.delete(ew); + + QueryWrapper ew1=new QueryWrapper<>(); + ew1.eq("orderIdFk",iodestinyProcessRequest.getBillNo()); + ioDestinyProcessCodeMapper.delete(ew1); + + QueryWrapper ew3 = new QueryWrapper<>(); + ew3.eq("billNo", iodestinyProcessRequest.getBillNo()); + ioDestinyProcessMapper.delete(ew3); + return null; + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java index 00f6e3669..23ba1b5ed 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java @@ -6,7 +6,9 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inout.IoOrderDetailResultDao; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity; +import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; +import com.glxp.api.res.inout.CptTraceOrderResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.inout.IoOrderDetailResultService; import org.springframework.stereotype.Service; @@ -72,4 +74,8 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic return orderDetailResultDao.filterOrderList(orderDetailResultRequest); } + @Override + public List cptTrace(CptTraceRequest cptTraceRequest) { + return orderDetailResultDao.cptTrace(cptTraceRequest); + } } diff --git a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java index fe6c696f3..d02b6f61d 100644 --- a/src/main/java/com/glxp/api/task/SyncThirdSysTask.java +++ b/src/main/java/com/glxp/api/task/SyncThirdSysTask.java @@ -34,7 +34,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutorService; @Component -//@EnableScheduling +@EnableScheduling @Slf4j public class SyncThirdSysTask implements SchedulingConfigurer { diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 80b82dadf..4fbd4993a 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_w?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: root + password: 123456 hikari: connection-timeout: 60000 maximum-pool-size: 20 @@ -46,7 +46,7 @@ logging: level: com.glxp.api.dao: debug -file_path: D:/udi/inUdiwms/udiwmsfile/ +file_path: D:/udi/udiwms/udiwmsfile/ UDI_KEY: 6b137c66-6286-46c6-8efa-c2f5dd9237df UDI_SERVER_URL: https://www.udims.com/UDI_DL_Server_test SPMS_KEY: lCOdWCBKS6Kw45wdnnqUTELXyuSKnXEs diff --git a/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml b/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml index 8ba584c10..282aadcac 100644 --- a/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml +++ b/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml @@ -23,6 +23,9 @@ AND userName != #{neUserName} + + AND auth_dept.name LIKE CONCAT('%', #{deptName}, '%') + - ORDER BY id - DESC + ORDER BY id DESC + diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml index cb71a6f81..aa8ec5b29 100644 --- a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessCodeMapper.xml @@ -22,4 +22,29 @@ id, orderIdFk, bindRlFk, uuidFk, nameCode, batchNo, productDate, expireDate, price, supId, `count`, updateTime + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml index 9357cd2dc..7f483b0a2 100644 --- a/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoDestinyProcessDetailMapper.xml @@ -13,4 +13,80 @@ id, relId, `count`, reCount + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index 4069e8825..cc532bb24 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -108,4 +108,35 @@ + + + diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml index 625cccb2d..780470d91 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderMutiMapper.xml @@ -33,7 +33,7 @@ and b1.ggxh = #{ggxh} - and b1.cpmctymc = #{cpmctymc} + AND b1.cpmctymc LIKE CONCAT('%', #{cpmctymc}, '%') and io.status = #{status} diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index 3866964f7..d6ee52e4e 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -329,7 +329,7 @@ remark3 = #{remark3,jdbcType=VARCHAR}, price = #{price,jdbcType=VARCHAR}, manufactoryCode = #{manufactoryCode,jdbcType=VARCHAR}, - supCode = #{supCode,jdbcType=VARCHAR} + supCode = #{supCode,jdbcType=VARCHAR}, type = #{type,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 5a136ca66..531f8f880 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -502,6 +502,8 @@ CALL Pro_Temp_ColumnWork('inv_place_order_detail', 'topInvSpaceCode', 'varchar(2 call Modify_index('basic_products', 'uuid', 'idx_uuid', 'BTREE'); + + CALL Pro_Temp_ColumnWork('basic_products', 'sfwblztlcp', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('basic_products', 'cgzmraqxgxx', 'varchar(255)', 1); CALL Pro_Temp_ColumnWork('basic_products', 'sfbjwycxsy', 'varchar(255)', 1); @@ -531,3 +533,63 @@ CREATE TABLE if not exists `basic_destiny_rel` CALL Pro_Temp_ColumnWork('thr_products', 'type', 'int', 1); + +CREATE TABLE if not exists `io_destiny_process` +( + `id` bigint(0) NOT NULL, + `destinyId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '定数包模板id', + `destinyNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '唯一编码', + `billNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单据号', + `billDate` datetime(0) NULL DEFAULT NULL COMMENT '单据时间', + `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单前仓库', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `createTime` datetime(0) NULL DEFAULT NULL COMMENT '创建时间', + `updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间', + `createUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人', + `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新人', + `status` int(0) NULL DEFAULT NULL COMMENT '状态 0 :草稿 1:待校验 2:已校验', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包表' + ROW_FORMAT = Dynamic; + +CREATE TABLE if not exists `io_destiny_process_code` +( + `id` bigint(0) NOT NULL, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单号外键', + `bindRlFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '耗材字典ID外键', + `uuidFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DI信息UUID外键', + `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DI', + `batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '批次号', + `productDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生产日期', + `expireDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效日期', + `price` decimal(10, 2) NULL DEFAULT NULL COMMENT '价格', + `supId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '供应商ID外键', + `count` int(0) NULL DEFAULT NULL COMMENT '单据数量', + `updateTime` datetime(0) NULL DEFAULT NULL, + `serialNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, + `reCount` int(0) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '定速包加工明细表' + ROW_FORMAT = Dynamic; + +CREATE TABLE if not exists `io_destiny_process_detail` +( + `id` bigint(0) NOT NULL, + `relId` bigint(0) NULL DEFAULT NULL COMMENT '耗材产品id', + `count` int(0) NULL DEFAULT NULL COMMENT '数量', + `reCount` int(0) NULL DEFAULT 0 COMMENT '实际数量', + `updateTime` datetime(0) NULL DEFAULT NULL, + `orderIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '订单号外键', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB + CHARACTER SET = utf8mb4 + COLLATE = utf8mb4_0900_ai_ci COMMENT = '定数包产品关联表' + ROW_FORMAT = Dynamic; + + +