diff --git a/src/main/java/com/glxp/api/common/util/ResultVOUtils.java b/src/main/java/com/glxp/api/common/util/ResultVOUtils.java index 87eb51b9..106c5da6 100644 --- a/src/main/java/com/glxp/api/common/util/ResultVOUtils.java +++ b/src/main/java/com/glxp/api/common/util/ResultVOUtils.java @@ -21,7 +21,7 @@ public class ResultVOUtils { */ public static BaseResponse success(Object data) { BaseResponse baseResponse = new BaseResponse<>(); - baseResponse.setCode(20000); + baseResponse.setCode(ResultEnum.SUCCESS.getCode()); baseResponse.setMessage("success"); baseResponse.setData(data); return baseResponse; diff --git a/src/main/java/com/glxp/api/config/Knife4jConfiguration.java b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java index 3b7d48c1..3d62c2ff 100644 --- a/src/main/java/com/glxp/api/config/Knife4jConfiguration.java +++ b/src/main/java/com/glxp/api/config/Knife4jConfiguration.java @@ -4,6 +4,7 @@ package com.glxp.api.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; @@ -11,13 +12,11 @@ import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc; +@Profile({"dev","test"}) @Configuration @EnableSwagger2WebMvc public class Knife4jConfiguration { - @Value("${knife4j.enable:false}") - private boolean enable; - @Bean(value = "defaultApi2") public Docket defaultApi2() { Docket docket = new Docket(DocumentationType.SWAGGER_2) @@ -26,7 +25,6 @@ public class Knife4jConfiguration { .description("UDI管理系统后台 - APIS") .version("1.0") .build()) - .enable(enable) .select() //这里指定Controller扫描包路径 .apis(RequestHandlerSelectors.basePackage("com.glxp.api.controller")) diff --git a/src/main/java/com/glxp/api/controller/auth/SysRoleController.java b/src/main/java/com/glxp/api/controller/auth/SysRoleController.java index 5081f90e..71d5af50 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysRoleController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysRoleController.java @@ -88,6 +88,13 @@ public class SysRoleController extends BaseController { @PutMapping @Log(title = "用户管理", businessType = BusinessType.UPDATE) public BaseResponse edit(@Validated @RequestBody SysRole role) { + //把角色改成禁用的时候 如果存在关联 不能禁用 + if("1".equals(role.getStatus())){ + List sysUserRoles = roleService.selectUserRoleList(role.getRoleId()); + if( !sysUserRoles.isEmpty()){ + return ResultVOUtils.error(500, "角色已关联用户,不能禁用!"); + } + } roleService.checkRoleAllowed(role); roleService.checkRoleDataScope(role.getRoleId()); if (Constant.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) { diff --git a/src/main/java/com/glxp/api/controller/auth/SysUserController.java b/src/main/java/com/glxp/api/controller/auth/SysUserController.java index 35b8f1b8..1c0073e6 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysUserController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysUserController.java @@ -291,8 +291,13 @@ public class SysUserController extends BaseController { if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } -// 修改角色 - userService.insertUserAuth(authAdmin.getId(), authUserSaveRequest.getRoles()); + +// 修改角色(供应商账号) + AuthAdmin byId = userService.findById(authUserSaveRequest.getId()); + if("110".equals(byId.getCustomerId())){ + userService.insertUserAuth(authAdmin.getId(), authUserSaveRequest.getRoles()); + } + userService.updateAuthAdmin(authAdmin); diff --git a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java index 46ba0cb8..bb6a4680 100644 --- a/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java +++ b/src/main/java/com/glxp/api/controller/basic/UdiRelevanceController.java @@ -16,10 +16,7 @@ import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrSystemEntity; -import com.glxp.api.req.basic.UdiCombineRequest; -import com.glxp.api.req.basic.FilterUdiRelRequest; -import com.glxp.api.req.basic.LockUdiRequest; -import com.glxp.api.req.basic.UdiRelevanceSaveRequest; +import com.glxp.api.req.basic.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; import com.glxp.api.res.PageSimpleResponse; @@ -52,8 +49,6 @@ import java.util.List; @RestController public class UdiRelevanceController extends BaseController { - @Resource - GennerOrderUtils gennerOrderUtils; @Resource UdiRelevanceService udiRelevanceService; @Resource @@ -70,6 +65,8 @@ public class UdiRelevanceController extends BaseController { ThrDataService thrDataService; @Resource UdiRlSupService udiRlSupService; + @Resource + ProductInfoService productInfoService; //手持终端下载UDI产品信息 @AuthRuleAnnotation("") @@ -698,4 +695,16 @@ public class UdiRelevanceController extends BaseController { return ResultVOUtils.success(ggxhList); } + //国家库uuid获取产品 + @PostMapping("/udi/udirel/selectOriginuuid") + @Log(title = "单据管理", businessType = BusinessType.INSERT) + public BaseResponse selectOriginuuid(@RequestBody ProductInfoFilterRequest productInfoFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiProductEntities = productInfoService.findAll(productInfoFilterRequest); + return ResultVOUtils.success(udiProductEntities); + } + } 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 13a52857..a577f7f6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -1113,8 +1113,23 @@ public class IoCodeTempController extends BaseController { if (codeTempEntity.getMyCount() <= 0) { return ResultVOUtils.error(500, "数量需要大于0"); } + + IoCodeTempEntity tempEntity = codeTempService.selectById(codeTempEntity.getId()); codeTempEntity.setReCount(codeTempEntity.getMyCount() * udiCalCountUtil.getActCount(codeTempEntity.getNameCode())); + int count = tempEntity.getCount() - codeTempEntity.getCount(); + + //更新扫码详情 + IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(codeTempEntity.getOrderId(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo()); + if (orderDetailCodeEntity != null) { + //扫码数量-1 + int orderCount = orderDetailCodeEntity.getCount(); + orderDetailCodeEntity.setCount(orderCount - count); + orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getCount() * udiCalCountUtil.getActCount(codeTempEntity.getNameCode())); + ioOrderDetailCodeService.update(orderDetailCodeEntity); + } int b = codeTempService.updateById(codeTempEntity); + + if (b > 0) return ResultVOUtils.success("修改成功"); else return ResultVOUtils.error(500, "修改失败!"); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index e253e8c2..f88106b6 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -432,6 +432,9 @@ public class IoOrderDetailBizController extends BaseController { purOrderEntity = purOrderService.selectById(purOrderEntity.getId()); List purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + ""); BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.selectByOriginAction(purOrderEntity.getBillType()); + if (basicBusTypeChangeEntity == null) { + return ResultVOUtils.error(500, "采购订单未配置转换单据类型!"); + } BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(basicBusTypeChangeEntity.getTargetAction()); AuthAdmin authAdmin = getUser(); @@ -593,10 +596,28 @@ public class IoOrderDetailBizController extends BaseController { @PostMapping("/udiwms/inout/biz/updateById") @Log(title = "发票管理", businessType = BusinessType.UPDATE) - public BaseResponse deleteById(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) { - + public BaseResponse updateById(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) { + IoOrderEntity orderEntity = orderService.findByBillNo(ioOrderInvoiceRequest.getOrderIdFk()); + if (orderEntity != null) { + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + } return ResultVOUtils.success(ioOrderInvoiceService.updateByInvId(ioOrderInvoiceRequest)); + } + + @PostMapping("/udiwms/inout/bizDetail/updateById") + @Log(title = "发票管理", businessType = BusinessType.UPDATE) + public BaseResponse updateBizById(@RequestBody IoOrderDetailBizEntity ioOrderDetailBizEntity) { + IoOrderEntity orderEntity = orderService.findByBillNo(ioOrderDetailBizEntity.getOrderIdFk()); + if (orderEntity != null) { + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + } + ioOrderDetailBizEntity.setCheckFileName(ioOrderDetailBizEntity.getFilePath()); + ioOrderDetailBizEntity.setCheckColdFileName(ioOrderDetailBizEntity.getColdFilePath()); + boolean b = orderDetailBizService.updateOrderDetailBiz(ioOrderDetailBizEntity); + return ResultVOUtils.success("修改成功!"); } @@ -664,7 +685,8 @@ public class IoOrderDetailBizController extends BaseController { String msg = ""; IoOrderInvoiceRequest ioOrderInvoiceEntity = new IoOrderInvoiceRequest(); ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailCodeRespons.getOrderIdFk()); - ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailCodeRespons.getId()); + ioOrderInvoiceEntity.setBatchNo(ioOrderDetailCodeRespons.getBatchNo()); + ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailCodeRespons.getBindRlFk().toString()); List ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceEntity); for (IoOrderInvoiceEntity obj : ioOrderInvoiceEntityList) { if (StrUtil.isNotEmpty(obj.getInvoiceEncode())) { 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 04f9a76f..653ebcab 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -2,6 +2,7 @@ package com.glxp.api.controller.inout; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; @@ -13,19 +14,36 @@ 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.SysPdfTemplateRelevanceStatemenEntity; +import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.inout.FilterCodeRequest; 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.IoCodeResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.system.SystemPDFModuleService; +import com.glxp.api.service.system.SystemPDFTemplateService; +import com.glxp.api.util.JasperUtils; +import net.sf.jasperreports.engine.JRException; +import org.springframework.beans.factory.annotation.Value; 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 javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 单据扫码明细查询接口 @@ -40,6 +58,12 @@ public class IoOrderDetailResultController extends BaseController { IBasicBussinessTypeService basicBussinessTypeService; @Resource IoCodeService codeService; + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + @Resource + private SystemPDFModuleService systemPDFModuleService; + @Value("${file_path}") + private String filePath; /** * 查询单据扫码明细列表 @@ -140,4 +164,96 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.success(orderDetailBizEntities); } + + //校验模板是否正确 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/order/result/file") + public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { + + //查询模板文件是否存在 + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getId()); + if (null == sysPdfTemplateRelevanceStatemenEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); + } + + + /** + * 出入库明细打印 + * + * @param filterOrderDetailResultRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/resultDetail/filterOrderPrint") + 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); + List list = new ArrayList<>(); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");//定义新的日期格式 + + //按选入打印 + if(filterOrderDetailResultRequest.getList() != null && filterOrderDetailResultRequest.getList().size()>0){ + ioOrderDetailResultResponseList =filterOrderDetailResultRequest.getList(); + }else{ + //按查询打印 + FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); + filterOrderRequest.setVueType(filterOrderDetailResultRequest.getActionType()); + List actions = orderService.setActions(filterOrderRequest); + if (CollUtil.isEmpty(actions)) { + return ResultVOUtils.success(""); + } + filterOrderDetailResultRequest.setActions(actions); + ioOrderDetailResultResponseList = orderDetailResultService.filterOrderList(filterOrderDetailResultRequest); + for (IoOrderDetailResultResponse orderDetailResultResponse : ioOrderDetailResultResponseList) { + if (orderDetailResultResponse.getMainAction().equals(ConstantType.TYPE_OUT)) { + orderDetailResultResponse.setOutCount(orderDetailResultResponse.getReCount()); + orderDetailResultResponse.setInCount(0); + } else { + orderDetailResultResponse.setOutCount(0); + orderDetailResultResponse.setInCount(orderDetailResultResponse.getReCount()); + } + } + } + int i=1; + for (IoOrderDetailResultResponse ioOrderDetailResultResponse : ioOrderDetailResultResponseList) { + //组装数据 + Map ioOrderDetailResultData = new HashMap<>(); + ioOrderDetailResultData.put("index", String.valueOf(i)); + ioOrderDetailResultData.put("nameCode", ioOrderDetailResultResponse.getNameCode() == null ? ' ' : ioOrderDetailResultResponse.getNameCode()); + ioOrderDetailResultData.put("batchNo", ioOrderDetailResultResponse.getBatchNo() == null ? ' ' : ioOrderDetailResultResponse.getBatchNo()); + ioOrderDetailResultData.put("productDate", ioOrderDetailResultResponse.getProductDate() == null ? ' ' : ioOrderDetailResultResponse.getProductDate()); + ioOrderDetailResultData.put("expireDate", ioOrderDetailResultResponse.getExpireDate() == null ? ' ' : ioOrderDetailResultResponse.getExpireDate()); + ioOrderDetailResultData.put("coName", ioOrderDetailResultResponse.getCoName() == null ? ' ' : ioOrderDetailResultResponse.getCoName()); + ioOrderDetailResultData.put("certCode", ioOrderDetailResultResponse.getCertCode() == null ? ' ' : ioOrderDetailResultResponse.getCertCode()); + ioOrderDetailResultData.put("ylqxzcrbarmc", ioOrderDetailResultResponse.getYlqxzcrbarmc() == null ? ' ' : ioOrderDetailResultResponse.getYlqxzcrbarmc()); + ioOrderDetailResultData.put("manufacturer", ioOrderDetailResultResponse.getManufacturer() == null ? ' ' : ioOrderDetailResultResponse.getManufacturer()); + ioOrderDetailResultData.put("measname", ioOrderDetailResultResponse.getMeasname() == null ? ' ' : ioOrderDetailResultResponse.getMeasname()); + 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("inCount", ioOrderDetailResultResponse.getInCount()); + ioOrderDetailResultData.put("acceptCount", ioOrderDetailResultResponse.getAcceptCount()); + ioOrderDetailResultData.put("fromCorpName", ioOrderDetailResultResponse.getFromCorpName() == null ? ' ' : ioOrderDetailResultResponse.getFromCorpName()); + ioOrderDetailResultData.put("billTypeName", ioOrderDetailResultResponse.getBillTypeName() == null ? ' ' : ioOrderDetailResultResponse.getBillTypeName()); + ioOrderDetailResultData.put("mainAction", ioOrderDetailResultResponse.getMainAction() == null ? ' ' : ioOrderDetailResultResponse.getMainAction()); + ioOrderDetailResultData.put("auditTime", ioOrderDetailResultResponse.getAuditTime() == null ? ' ' : formatter.format(ioOrderDetailResultResponse.getAuditTime())); + list.add(ioOrderDetailResultData); + i++; + } + + String param = JSON.toJSONString(list); + JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); + return ResultVOUtils.success(); + } + } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java index f086f0aa..18b9ef0d 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java @@ -6,9 +6,12 @@ import com.glxp.api.annotation.Log; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; +import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.req.inout.IoOrderInvoiceRequest; import com.glxp.api.req.inout.RefreshInoiceRequest; +import com.glxp.api.res.inout.RefreshInoiceResponse; +import com.glxp.api.service.inout.IoOrderDetailCodeService; import com.glxp.api.service.inout.IoOrderInvoiceService; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.PostMapping; @@ -22,7 +25,8 @@ import java.util.List; public class IoOrderInvoiceController { @Resource IoOrderInvoiceService ioOrderInvoiceService; - RefreshInoiceRequest refreshInoiceRequest; + @Resource + IoOrderDetailCodeService orderDetailCodeService; @AuthRuleAnnotation("") @@ -32,9 +36,14 @@ public class IoOrderInvoiceController { IoOrderInvoiceRequest orderInvoiceRequest = new IoOrderInvoiceRequest(); BeanUtils.copyProperties(refreshInoiceRequest, orderInvoiceRequest); - List orderInvoiceEntities = ioOrderInvoiceService.selectOrderInvoice(orderInvoiceRequest); + List orderInvoiceEntities = ioOrderInvoiceService.findByBillNo(orderInvoiceRequest.getOrderIdFk()); + List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderInvoiceRequest.getOrderIdFk()); + + RefreshInoiceResponse response = new RefreshInoiceResponse(); + response.setOrderInvoiceEntities(orderInvoiceEntities); + response.setOrderDetailCodeEntities(orderDetailCodeEntities); if (CollUtil.isEmpty(orderInvoiceEntities)) return ResultVOUtils.error(500, "查无发票信息!"); - return ResultVOUtils.success(orderInvoiceEntities); + return ResultVOUtils.success(response); } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java index 4289a2d8..ecf03798 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderReviewController.java @@ -33,10 +33,7 @@ import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; import com.glxp.api.service.sync.SpsSyncDownloadService; import com.glxp.api.service.system.SystemParamConfigService; -import com.glxp.api.util.CustomUtil; -import com.glxp.api.util.GennerOrderUtils; -import com.glxp.api.util.OrderNoTypeBean; -import com.glxp.api.util.RedisUtil; +import com.glxp.api.util.*; import com.glxp.api.util.udi.UdiCalCountUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; @@ -338,11 +335,11 @@ public class IoOrderReviewController extends BaseController { for (IoCodeEntity checkOrderCodesBean : codesList) { if (checkOrderCodesBean.getCode().toUpperCase(Locale.ROOT).equals(code.toUpperCase(Locale.ROOT))) { if (checkOrderCodesBean.getStatus() == Constant.DB_CHECK_ED - && checkOrderCodesBean.getMyCount() == checkOrderCodesBean.getScanCount()) { + && IntUtil.value(checkOrderCodesBean.getReCount()) == checkOrderCodesBean.getScanCount()) { return Constant.CHECK_REPEAT; } int curCount = checkOrderCodesBean.getScanCount() + calCountUtil.getActCount(checkOrderCodesBean.getNameCode()); - if (curCount == checkOrderCodesBean.getMyCount()) { + if (curCount == IntUtil.value(checkOrderCodesBean.getReCount())) { checkOrderCodesBean.setStatus(Constant.DB_CHECK_ED); } checkOrderCodesBean.setScanCount(curCount); diff --git a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java index 49a2cc13..b64f4696 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inv; +import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; @@ -12,6 +13,7 @@ import com.glxp.api.entity.inv.InnerOrderEntity; import com.glxp.api.entity.inv.InvInnerOrderPrintEntity; import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; @@ -62,6 +64,8 @@ public class InvInnerOrderPrintController { private IoOrderService ioOrderService; @Resource private InnerOrderService innerOrderService; + @Value("${file_path}") + private String filePath; @GetMapping("/udiwms/innerOrderPrint/filter") @@ -171,7 +175,7 @@ public class InvInnerOrderPrintController { innerOrderPdfTempService.insertStockPrintTempEntity(stockPrintTempEntity); stockPrintTempEntities.add(stockPrintTempEntity); } - jaspaperService.printPdfLocal(splits, stockPrintTempEntities, systemPDFTemplateEntity.getPath()); + jaspaperService.printPdfLocal(splits, stockPrintTempEntities, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath()); PageInfo pageInfo; pageInfo = new PageInfo<>(stockPrintTempEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -182,7 +186,7 @@ public class InvInnerOrderPrintController { } else { Map data = new HashMap(); data.put("data", printEntities); - JasperUtils.jasperReport(request, response, data, systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, data, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); } @@ -217,6 +221,94 @@ public class InvInnerOrderPrintController { } + + //-----------打印码 + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/inspection/stock/qrcode/text/statement/file") + public BaseResponse inspectionStockQRCodeTextPDFFromTemplateStatementFile( + @RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) throws Exception { + + //查询模板文件是否存在 + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(inspectionPDFTemplateRequest.getLabelId()+""); + if (null == sysPdfTemplateRelevanceStatemenEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId()); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/pdf/template/stock/qrcode/text/statement/file") + public BaseResponse stockQRCodeTextPDFFromTemplateStatementFile( + @RequestBody InnerOrderQRCodeTextPDFTemplateRequest stockQRCodeTextPDFTemplateRequest, + HttpServletRequest request, HttpServletResponse response) throws Exception { + + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(stockQRCodeTextPDFTemplateRequest.getLabelId()+""); + if (sysPdfTemplateRelevanceStatemenEntity == null) return ResultVOUtils.error(500, "未找到单据模板模块设置,请检查"); + + SystemPDFTemplateEntity systemPDFTemplateEntity = + systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceStatemenEntity.getTemplateId())); + if (systemPDFTemplateEntity == null) return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + + List printEntities = new ArrayList<>(); + List mStockPrintEntities = new ArrayList<>(); + FilterinnerOrderprintRequest filterinnerOrderprintRequest = new FilterinnerOrderprintRequest(); + if (stockQRCodeTextPDFTemplateRequest.getOrderId() != null) { + filterinnerOrderprintRequest.setSOrderId(stockQRCodeTextPDFTemplateRequest.getOrderId()); + } else { + filterinnerOrderprintRequest.setId(stockQRCodeTextPDFTemplateRequest.getQueryId()); + } + List stockPrintEntities = invInnerOrderPrintService.filterJoinInnerPrint(filterinnerOrderprintRequest); + if (stockPrintEntities != null && stockPrintEntities.size() > 0) { + mStockPrintEntities.addAll(stockPrintEntities); + } + for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) { + PdfPrintCountEntity pdfPrintCount = getCount(stockQRCodeTextPDFTemplateRequest.getCountList(), InnerOrderPrintResponse); + if (pdfPrintCount != null && pdfPrintCount.getRowCount() > 0) { + for (int i = 0; i < pdfPrintCount.getRowCount(); i++) { + InnerOrderPrintResponse clone = new InnerOrderPrintResponse(); + BeanUtils.copyProperties(InnerOrderPrintResponse, clone); + printEntities.add(clone); + } + } else { + printEntities.add(InnerOrderPrintResponse); + } + } + + + String param = JSON.toJSONString(printEntities); + JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); + + String orderId = ""; + for (InnerOrderPrintResponse InnerOrderPrintResponse : mStockPrintEntities) { + InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); + innerOrderPrintEntity.setStatus(1); + innerOrderPrintEntity.setId(InnerOrderPrintResponse.getId()); + invInnerOrderPrintService.updateOrder(innerOrderPrintEntity); + orderId = InnerOrderPrintResponse.getId() + ""; + } + + //查询订单id + InvInnerOrderPrintEntity innerOrderPrintEntity = invInnerOrderPrintService.selectById(orderId); + //更新内部码状态 + InnerOrderEntity innerOrderEntity = innerOrderService.findByRecordKey(innerOrderPrintEntity.getOrderIdFk()); + if (innerOrderEntity != null) { + innerOrderEntity.setGenStatus(2); + innerOrderEntity.setId(innerOrderEntity.getId()); + innerOrderService.update(innerOrderEntity); + } + IoOrderEntity ioOrderEntity = new IoOrderEntity(); + ioOrderEntity.setInCodeStatus(1); + ioOrderEntity.setBillNo(innerOrderPrintEntity.getOrderIdFk()); + ioOrderService.updateByBillNo(ioOrderEntity); + return null; + + } + public PdfPrintCountEntity getCount(List countList, InnerOrderPrintResponse InnerOrderPrintResponse) { for (PdfPrintCountEntity pdfPrintCount : countList) { if (pdfPrintCount.getQueryId().equals(InnerOrderPrintResponse.getId() + "")) { diff --git a/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java b/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java index b602414e..efbee6f7 100644 --- a/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java +++ b/src/main/java/com/glxp/api/controller/purchase/PurOrderController.java @@ -116,7 +116,10 @@ public class PurOrderController { if (purOrderRequest.getStatus() == null) { purOrderRequest.setStatus(11); //查询未审核和草稿状态 } - + String customerId = customerService.getCustomerId(); + if (!customerId.equals("110")) { + purOrderRequest.setSupId(customerId); + } List purApplyEntities = purOrderService.queryPageList(purOrderRequest); PageInfo pageInfo; pageInfo = new PageInfo<>(purApplyEntities); @@ -156,7 +159,7 @@ public class PurOrderController { purOrderEntity.setUpdateTime(new Date()); purOrderService.update(purOrderEntity); - if(postPurOrderRequest.isAutoPurchase() && StrUtil.isNotEmpty(postPurOrderRequest.getTargetBillAction())){ + if (postPurOrderRequest.isAutoPurchase() && StrUtil.isNotEmpty(postPurOrderRequest.getTargetBillAction())) { String billNo = ""; List purOrderDetailEntities = purOrderDetailService.findByOrderId(purOrderEntity.getId() + ""); @@ -164,61 +167,59 @@ public class PurOrderController { Map> map = purOrderDetailEntities.stream().collect(Collectors.groupingBy(PurOrderDetailEntity::getSupId)); + if (CollUtil.isNotEmpty(purOrderDetailEntities) && postPurOrderRequest.isAutoPurchase() == true + && StrUtil.isNotEmpty(postPurOrderRequest.getTargetBillAction())) { - if (CollUtil.isNotEmpty(purOrderDetailEntities) && postPurOrderRequest.isAutoPurchase() == true - && StrUtil.isNotEmpty(postPurOrderRequest.getTargetBillAction())) { - - for (Map.Entry> m : map.entrySet()) { - //生产单据表信息 - IoOrderEntity ioOrderEntity = new IoOrderEntity(); - ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"))); - ioOrderEntity.setCorpOrderId(CustomUtil.getDate()); - ioOrderEntity.setMainAction(ConstantType.TYPE_PUT); - ioOrderEntity.setAction(postPurOrderRequest.getTargetBillAction()); - ioOrderEntity.setFromCorp(m.getKey()); - ioOrderEntity.setFromType(ConstantStatus.FROM_Order); - ioOrderEntity.setStatus(1); - ioOrderEntity.setDealStatus(1); - ioOrderEntity.setOrderType(1); - ioOrderEntity.setCreateTime(new Date()); - ioOrderEntity.setCreateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser()); - ioOrderEntity.setUpdateTime(new Date()); - ioOrderEntity.setUpdateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser()); - ioOrderEntity.setCustomerId("110"); - ioOrderEntity.setDeptCode(purOrderEntity.getDeptCode()); - ioOrderEntity.setInvCode(purOrderEntity.getInvCode()); - ioOrderService.insertOrder(ioOrderEntity); - billNo += ioOrderEntity.getBillNo() + ","; - //插入业务单表 - for (PurOrderDetailEntity obj : m.getValue()) { - BasicProductsEntity basicProductsEntity = purOrderDetailService.selectIoOrderDetailBiz(obj.getId()); - IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); - ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo()); - ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId())); - ioOrderDetailBizEntity.setCount(obj.getCount()); - ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid()); - ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode()); - ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc()); - ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh()); - ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc()); - ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory()); - ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname()); - ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh()); - if (basicProductsEntity.getPrice() != null) { - ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice())); - } - ioOrderDetailBizEntity.setSupId(obj.getSupId()); - ioOrderDetailBizService.insert(ioOrderDetailBizEntity); + for (Map.Entry> m : map.entrySet()) { + //生产单据表信息 + IoOrderEntity ioOrderEntity = new IoOrderEntity(); + ioOrderEntity.setBillNo(gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"))); + ioOrderEntity.setCorpOrderId(CustomUtil.getDate()); + ioOrderEntity.setMainAction(ConstantType.TYPE_PUT); + ioOrderEntity.setAction(postPurOrderRequest.getTargetBillAction()); + ioOrderEntity.setFromCorp(m.getKey()); + ioOrderEntity.setFromType(ConstantStatus.FROM_Order); + ioOrderEntity.setStatus(1); + ioOrderEntity.setDealStatus(1); + ioOrderEntity.setOrderType(1); + ioOrderEntity.setCreateTime(new Date()); + ioOrderEntity.setCreateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser()); + ioOrderEntity.setUpdateTime(new Date()); + ioOrderEntity.setUpdateUser(postPurOrderRequest.getPurOrderEntity().getAuditUser()); + ioOrderEntity.setCustomerId("110"); + ioOrderEntity.setDeptCode(purOrderEntity.getDeptCode()); + ioOrderEntity.setInvCode(purOrderEntity.getInvCode()); + ioOrderService.insertOrder(ioOrderEntity); + billNo += ioOrderEntity.getBillNo() + ","; + //插入业务单表 + for (PurOrderDetailEntity obj : m.getValue()) { + BasicProductsEntity basicProductsEntity = purOrderDetailService.selectIoOrderDetailBiz(obj.getId()); + IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); + ioOrderDetailBizEntity.setOrderIdFk(ioOrderEntity.getBillNo()); + ioOrderDetailBizEntity.setBindRlFk(Long.valueOf(obj.getProductId())); + ioOrderDetailBizEntity.setCount(obj.getCount()); + ioOrderDetailBizEntity.setUuidFk(basicProductsEntity.getUuid()); + ioOrderDetailBizEntity.setNameCode(basicProductsEntity.getNameCode()); + ioOrderDetailBizEntity.setCoName(basicProductsEntity.getCpmctymc()); + ioOrderDetailBizEntity.setCertCode(basicProductsEntity.getZczbhhzbapzbh()); + ioOrderDetailBizEntity.setYlqxzcrbarmc(basicProductsEntity.getYlqxzcrbarmc()); + ioOrderDetailBizEntity.setManufacturer(basicProductsEntity.getManufactory()); + ioOrderDetailBizEntity.setMeasname(basicProductsEntity.getMeasname()); + ioOrderDetailBizEntity.setSpec(basicProductsEntity.getGgxh()); + if (basicProductsEntity.getPrice() != null) { + ioOrderDetailBizEntity.setPrice(BigDecimal.valueOf(basicProductsEntity.getPrice())); } + ioOrderDetailBizEntity.setSupId(obj.getSupId()); + ioOrderDetailBizService.insert(ioOrderDetailBizEntity); } - purOrderEntity.setStockOrderNo(billNo.substring(0, billNo.length() - 1)); - purOrderService.update(purOrderEntity); } + purOrderEntity.setStockOrderNo(billNo.substring(0, billNo.length() - 1)); + purOrderService.update(purOrderEntity); + } } - return ResultVOUtils.success("更新成功!"); } diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java index 4e363801..1de6dcae 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertController.java @@ -241,6 +241,11 @@ public class SupCertController { supCertEntity.setUpdateTime(new Date()); supCertEntity.setStatus(0); supCertEntity.setId(IdUtil.getSnowflakeNextId()); + if (supCertEntity.getVailDate() != null && supCertEntity.getExpireDate() != null) { + if (supCertEntity.getVailDate().getTime() > supCertEntity.getExpireDate().getTime()) { + return ResultVOUtils.error(999, "失效期不能小于生效期!"); + } + } boolean b = supCertService.insertCompanyCert(supCertEntity); return ResultVOUtils.success("成功"); } @@ -305,7 +310,7 @@ public class SupCertController { if (postSupCertRequest.getVailDate() != null && postSupCertRequest.getExpireDate() != null) { if (postSupCertRequest.getVailDate().getTime() > postSupCertRequest.getExpireDate().getTime()) { - return ResultVOUtils.error(999, "生效期不能小于失效期!"); + return ResultVOUtils.error(999, "失效期不能小于生效期!"); } } @@ -431,7 +436,7 @@ public class SupCertController { supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); supData.put("remark", obj.getRemark() == null ? ' ' : obj.getRemark()); - supData.put("filePath", filePath + "register/file/image2/" + url); + supData.put("filePath", filePath + "register/image2/" + url); list.add(supData); i++; } @@ -440,7 +445,7 @@ public class SupCertController { } String param = JSON.toJSONString(list); - JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); } /** @@ -547,7 +552,7 @@ public class SupCertController { supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); - supData.put("filePath", filePath + "register/file/image2/" + url); + supData.put("filePath", filePath + "register/image2/" + url); list.add(supData); i++; } @@ -555,7 +560,7 @@ public class SupCertController { } String param = JSON.toJSONString(list); - JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); } /** @@ -613,7 +618,7 @@ public class SupCertController { supData.put("status", obj.getStatus() == 0 ? "有效" : "失效"); supData.put("auditStatus", getAuditStatus(obj.getAuditStatus())); supData.put("remark2", obj.getRemark() == null ? ' ' : obj.getRemark()); - supData.put("filePath", filePath + "register/file/image2/" + url); + supData.put("filePath", filePath + "register/image2/" + url); list.add(supData); i++; } @@ -621,7 +626,7 @@ public class SupCertController { } String param = JSON.toJSONString(list); - JasperUtils.jasperReport(request, response, param, systemPDFTemplateEntity.getPath(), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+systemPDFTemplateEntity.getPath(), "pdf"); } //首营预览文件 diff --git a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java index f580f0f3..6409a716 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java @@ -151,10 +151,11 @@ public class SpsSyncDownloadController { @GetMapping("sps/sync/syncUdis") public BaseResponse getDiProducts(SpsSyncDataRequest spsSyncDataRequest) { - BaseResponse baseResponse = spsSyncDownloadService.syncUdi(spsSyncDataRequest); + BaseResponse baseResponse = ResultVOUtils.error(ResultEnum.NOT_NETWORK.getCode(),""); BasicExportStatusEntity basicExportStatusEntity = basicExportService.findByData(ConstantStatus.SYNC_DI_PRODUCTS, 3); String logs = ""; if (basicExportStatusEntity != null) { + baseResponse = spsSyncDownloadService.syncUdi(spsSyncDataRequest); // if (CollUtil.isNotEmpty(baseResponse.getData().getProductInfoEntityList())) // logs = logs + "DI信息:" + baseResponse.getData().getProductInfoEntityList().size() + "条\n"; // if (CollUtil.isNotEmpty(baseResponse.getData().getUdiCompanyEntities())) @@ -165,6 +166,8 @@ public class SpsSyncDownloadController { SpSyncUdiResponse spSyncUdiResponse = baseResponse.getData(); spSyncUdiResponse.setTaskId(basicExportStatusEntity.getId()); baseResponse.setData(spSyncUdiResponse); + baseResponse.setCode(20000); + baseResponse.setMessage("success"); } return baseResponse; } @@ -652,12 +655,10 @@ public class SpsSyncDownloadController { orderEntity.setOutChangeEnable(syncDataBustypeEntity.isSyncChange()); } } - IoOrderEntity temp = orderService.findById(orderEntity.getBillNo()); - - + IoOrderEntity temp = orderService.findByBillNo(orderEntity.getBillNo()); if (temp == null) { - // 过滤使用出库单,转换成一级库出库单(条件:往来类型为客户信息,出入库类型为出库,仓库类型为入账库,是否更改库存为是 + //过滤使用出库单,转换成一级库出库单(条件:往来类型为客户信息,出入库类型为出库,仓库类型为入账库,是否更改库存为是 BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); if (basicBussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && basicBussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_OUT) @@ -694,7 +695,6 @@ public class SpsSyncDownloadController { List orderDetailBizEntities = syncDataResponse.getOrderDetailBizEntities(); for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { if (bizEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - bizEntity.setId(null); orderDetailBizDao.insert(bizEntity); } } @@ -705,7 +705,6 @@ public class SpsSyncDownloadController { List orderDetailCodeEntities = syncDataResponse.getOrderDetailCodeEntities(); for (IoOrderDetailCodeEntity codeEntity : orderDetailCodeEntities) { if (codeEntity.getOrderIdFk().equals(orderEntity.getBillNo())) { - codeEntity.setId(null); orderDetailCodeDao.insert(codeEntity); } } @@ -798,7 +797,6 @@ public class SpsSyncDownloadController { orderEntity.setUpdateTime(null); PurOrderEntity temp = purOrderService.selectByBillNo(orderEntity.getBillNo()); if (temp == null) { - orderEntity.setId(null); purOrderService.insert(orderEntity); if (CollUtil.isNotEmpty(spsSyncBusOrderResponse.getPurOrderDetailEntities())) { List purOrderDetailEntities = spsSyncBusOrderResponse.getPurOrderDetailEntities(); diff --git a/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java b/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java index 660d471a..95a1f10e 100644 --- a/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java +++ b/src/main/java/com/glxp/api/controller/system/SysParamConfigController.java @@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; @@ -189,6 +190,9 @@ public class SysParamConfigController { filterParamConfigRequest.setParamType(2); filterParamConfigRequest.setParamStatus(1); List systemParamConfigEntities = systemParamConfigService.queryPage(filterParamConfigRequest); + systemParamConfigEntities = systemParamConfigEntities.stream().sorted(Comparator.comparing(SystemParamConfigEntity::getParamKey)) + .collect(Collectors.toList()); + ProductRemarkSetEntity productRemarkSetEntity = new ProductRemarkSetEntity(); if (CollUtil.isNotEmpty(systemParamConfigEntities) && systemParamConfigEntities.size() == 8) { diff --git a/src/main/java/com/glxp/api/controller/system/SysPdfTemplateController.java b/src/main/java/com/glxp/api/controller/system/SysPdfTemplateController.java index ad76cad4..05fca5c9 100644 --- a/src/main/java/com/glxp/api/controller/system/SysPdfTemplateController.java +++ b/src/main/java/com/glxp/api/controller/system/SysPdfTemplateController.java @@ -73,10 +73,10 @@ public class SysPdfTemplateController { SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(filterPdfTemplateRequest.getId())); String data = ""; - if (systemPDFTemplateEntity.getModule() == 2) { + if (systemPDFTemplateEntity.getModule() == 3) { data = "{\"data\":[{\"batchNo\":\"2020\",\"billNo\":\"2022040811589\",\"billType\":\"ST39730635520\",\"billdate\":\"2022-04-08\",\"corpId\":\"39864007581\",\"corpName\":\"漳州**有限公司\",\"count\":\"4\",\"customerId\":\"39864007581\",\"expireDate\":\"251020\",\"id\":\"10\",\"index\":\"1\",\"locInv\":\"总库\",\"orderIdFk\":\"SM412208685600\",\"printStatus\":\"102\",\"productDate\":\"201020\",\"productId\":\"169\",\"productName\":\"一次性使用开环式微创肛肠吻合器\",\"sourceType\":\"1\",\"spec\":\"TST33-T80——2993规格\",\"status\":\"5\",\"sweepCount\":\"0\",\"title\":\"漳州**医院\",\"type\":\"2\",\"unitIdFk\":\"39864007581\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"苏械注准2022000000\",\"price\":\"10.00\"},{\"batchNo\":\"2023\",\"billNo\":\"2022040811589\",\"billType\":\"ST39730635520\",\"billdate\":\"2022-04-08\",\"corpId\":\"39864007581\",\"corpName\":\"漳州**有限公司\",\"count\":\"4\",\"customerId\":\"39864007581\",\"expireDate\":\"251020\",\"id\":\"10\",\"index\":\"2\",\"locInv\":\"总库\",\"orderIdFk\":\"SM412208685600\",\"printStatus\":\"102\",\"productDate\":\"201020\",\"productId\":\"169\",\"productName\":\"一次性使用开环式微创肛肠吻合器\",\"sourceType\":\"1\",\"spec\":\"TST33-T80——2993规格\",\"status\":\"5\",\"sweepCount\":\"0\",\"title\":\"漳州**医院\",\"type\":\"2\",\"unitIdFk\":\"39864007581\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"苏械注准2022000000\",\"price\":\"10.00\"},{\"batchNo\":\"2021\",\"billNo\":\"2022040811589\",\"billType\":\"ST39730635520\",\"billdate\":\"2022-04-08\",\"corpId\":\"39864007581\",\"corpName\":\"漳州**有限公司\",\"count\":\"4\",\"customerId\":\"39864007581\",\"expireDate\":\"251020\",\"id\":\"10\",\"index\":\"3\",\"locInv\":\"总库\",\"orderIdFk\":\"SM412208685600\",\"printStatus\":\"102\",\"productDate\":\"201020\",\"productId\":\"169\",\"productName\":\"一次性使用开环式微创肛肠吻合器\",\"sourceType\":\"1\",\"spec\":\"TST33-T80——2993规格\",\"status\":\"5\",\"sweepCount\":\"0\",\"title\":\"漳州**医院\",\"type\":\"2\",\"unitIdFk\":\"39864007581\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"苏械注准2022000000\",\"price\":\"10.00\"}]}"; - } else if (systemPDFTemplateEntity.getModule() == 0) { + } else if (systemPDFTemplateEntity.getModule() == 2) { data = "{\"data\":[{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"},{\"batchNo\":\"2021\",\"corpName\":\"漳州***医院\",\"count\":10,\"cpmctymc\":\"髋关节假体\",\"expireDate\":\"230606\",\"ggxh\":\"DTUCS Ⅱ 3#\",\"id\":4,\"nameCode\":\"06902139302144\",\"produceDate\":\"210606\",\"udiCode\":\"#06902139302144#210606#230606#2021###\",\"ylqxzcrbarmc\":\"漳州**有限公司\",\"zczbhhzbapzbh\":\"国械注准201000000000\"}]}"; } else if (systemPDFTemplateEntity.getModule() == 1) { diff --git a/src/main/java/com/glxp/api/dao/auth/SysUserRoleMapper.java b/src/main/java/com/glxp/api/dao/auth/SysUserRoleMapper.java index 691f8fe5..58eba9a3 100644 --- a/src/main/java/com/glxp/api/dao/auth/SysUserRoleMapper.java +++ b/src/main/java/com/glxp/api/dao/auth/SysUserRoleMapper.java @@ -19,4 +19,6 @@ public interface SysUserRoleMapper { SysUserRole selectByAuthId(Long id); + List selectUserRoleList(Long roleId); + } diff --git a/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java b/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java index c281ff6f..26f4a668 100644 --- a/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java +++ b/src/main/java/com/glxp/api/dao/sync/BasicExportTimeDao.java @@ -1,6 +1,7 @@ package com.glxp.api.dao.sync; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.req.sync.BasicExportTimeRequest; import org.apache.ibatis.annotations.Mapper; @@ -8,7 +9,7 @@ import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper -public interface BasicExportTimeDao extends BaseMapper { +public interface BasicExportTimeDao extends BaseMapperPlus { List filterExportStatus(BasicExportTimeRequest basicExportStatusRequest); diff --git a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java index 27323dcf..15034ffa 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java @@ -85,6 +85,8 @@ public class UdiProductEntity { private Long relSupId; + private Boolean groupBuy; + public Boolean getAllowNoBatch() { if (allowNoBatch == null) diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java index f2bb0ca6..2a542be5 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java @@ -180,12 +180,23 @@ public class IoOrderDetailBizEntity { @TableField(value = "filePath") private String filePath; + @TableField(value = "coldFilePath") + private String coldFilePath; + /** * 检验报告名称 */ @TableField(value = "checkFileName") private String checkFileName; + /** + * 冷链报告名称 + */ + @TableField(value = "checkColdFileName") + private String checkColdFileName; + + + @TableField(exist = false) private boolean checkSuccess; diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java index 700c315c..f27320f3 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java @@ -1,5 +1,6 @@ package com.glxp.api.req.inout; +import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.util.page.ListPageRequest; import lombok.Data; @@ -43,7 +44,9 @@ public class FilterOrderDetailResultRequest extends ListPageRequest { private String endAduditTime; //结束日期 private String fromCorp; private String actionType; + private String templateId; private String manufacturer; private String zczbhhzbapzbh; private List actions; + private List list; } diff --git a/src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java b/src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java index f4643a1e..f10babb4 100644 --- a/src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoCodeLostRequest.java @@ -12,7 +12,7 @@ import java.util.Date; public class IoCodeLostRequest extends ListPageRequest { - private Integer id; + private Long id; /** * UDI码 diff --git a/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java b/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java index f74661d5..845c4dc8 100644 --- a/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java +++ b/src/main/java/com/glxp/api/req/purchase/PurOrderRequest.java @@ -81,6 +81,7 @@ public class PurOrderRequest extends ListPageRequest { private Date auditTime; private String createUser; + private String supId; /** * 创建时间 diff --git a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java index bd650b30..d921907e 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java @@ -92,4 +92,6 @@ public class UdiRlSupResponse { //产品id private String PRId; private String classifyName; + + private boolean groupBuy; //是否集采产品 } diff --git a/src/main/java/com/glxp/api/res/inout/IoCodeLostResponse.java b/src/main/java/com/glxp/api/res/inout/IoCodeLostResponse.java index 665e876c..e448a2fd 100644 --- a/src/main/java/com/glxp/api/res/inout/IoCodeLostResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoCodeLostResponse.java @@ -15,7 +15,7 @@ import java.util.Date; @Data public class IoCodeLostResponse { - private Integer id; + private Long id; private String code; diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java index 2d908e88..d4a9fc4f 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java @@ -169,6 +169,10 @@ public class IoOrderDetailBizResponse { private String invoiceCode; + private String coldFilePath; + + private String checkColdFileName; + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java index 2c079da3..56e2da9f 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java @@ -3,6 +3,7 @@ package com.glxp.api.res.inout; import lombok.Data; import java.math.BigDecimal; +import java.util.Date; /** * 单据扫码明细VO @@ -159,6 +160,7 @@ public class IoOrderDetailResultResponse { private String fromCorpName; private String billTypeName; private String mainAction; + private Date auditTime; } diff --git a/src/main/java/com/glxp/api/res/inout/RefreshInoiceResponse.java b/src/main/java/com/glxp/api/res/inout/RefreshInoiceResponse.java new file mode 100644 index 00000000..58e68c38 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/RefreshInoiceResponse.java @@ -0,0 +1,14 @@ +package com.glxp.api.res.inout; + +import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; +import com.glxp.api.entity.inout.IoOrderInvoiceEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class RefreshInoiceResponse { + + List orderInvoiceEntities; + List orderDetailCodeEntities; +} diff --git a/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java b/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java index a4ff03f5..9f9d5d6a 100644 --- a/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java +++ b/src/main/java/com/glxp/api/res/purchase/PurOrderResponse.java @@ -11,7 +11,7 @@ public class PurOrderResponse { /** * */ - private Integer id; + private Long id; /** * 单据号 */ diff --git a/src/main/java/com/glxp/api/service/CustomService.java b/src/main/java/com/glxp/api/service/CustomService.java new file mode 100644 index 00000000..6f5771ca --- /dev/null +++ b/src/main/java/com/glxp/api/service/CustomService.java @@ -0,0 +1,12 @@ +package com.glxp.api.service; + +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +public interface CustomService extends IService { + int insertIgnore(T entity); + int insertIgnoreBatch(List entityList); + int replace(T entity); + int replaceBatch(List entityList); +} diff --git a/src/main/java/com/glxp/api/service/CustomServiceImpl.java b/src/main/java/com/glxp/api/service/CustomServiceImpl.java new file mode 100644 index 00000000..fbe97193 --- /dev/null +++ b/src/main/java/com/glxp/api/service/CustomServiceImpl.java @@ -0,0 +1,29 @@ +package com.glxp.api.service; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.dao.BaseMapperPlus; + +import java.util.List; + +public class CustomServiceImpl, T> extends ServiceImpl, T> implements CustomService{ + @Override + public int insertIgnore(T entity) { + return baseMapper.insertIgnore(entity); + } + + @Override + public int insertIgnoreBatch(List entityList) { + return baseMapper.insertIgnoreBatch(entityList); + } + + @Override + public int replace(T entity) { + return baseMapper.replace(entity); + } + + @Override + public int replaceBatch(List entityList) { + return baseMapper.replaceBatch(entityList); + } +} diff --git a/src/main/java/com/glxp/api/service/auth/ISysRoleService.java b/src/main/java/com/glxp/api/service/auth/ISysRoleService.java index 45878d16..6a2bfb81 100644 --- a/src/main/java/com/glxp/api/service/auth/ISysRoleService.java +++ b/src/main/java/com/glxp/api/service/auth/ISysRoleService.java @@ -85,6 +85,8 @@ public interface ISysRoleService { */ void checkRoleAllowed(SysRole role); + List selectUserRoleList(Long roleId); + /** * 校验角色是否有数据权限 * diff --git a/src/main/java/com/glxp/api/service/auth/impl/SysRoleServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/SysRoleServiceImpl.java index b023f610..6bfcea09 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/SysRoleServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/SysRoleServiceImpl.java @@ -187,6 +187,11 @@ public class SysRoleServiceImpl implements ISysRoleService { } } + @Override + public List selectUserRoleList(Long roleId) { + return sysUserRoleMapper.selectUserRoleList(roleId); + } + /** * 校验角色是否有数据权限 * diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index f2470cf4..856f4813 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -285,7 +285,7 @@ public class IoOrderServiceImpl implements IoOrderService { //查询条码 IoOrderEntity orderEntity = findByBillNo(billNo); if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED - || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) { + || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) { //更新正式表 IoCodeEntity ioCodeEntity = codeService.findByUnique(billNo, code); if (ioCodeEntity.getMyCount() > 1) { diff --git a/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java b/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java index 25f3e2e7..69f0c293 100644 --- a/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/purchase/impl/PurOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.purchase.impl; +import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.purchase.PurOrderDao; @@ -54,6 +55,8 @@ public class PurOrderServiceImpl implements PurOrderService { @Override public Boolean insert(PurOrderEntity purOrderEntity) { + if (purOrderEntity.getId() == null) + purOrderEntity.setId(IdUtil.getSnowflakeNextId()); return purOrderDao.insert(purOrderEntity) > 0 ? true : false; } diff --git a/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java b/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java index ad59f442..5e10d0f1 100644 --- a/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java +++ b/src/main/java/com/glxp/api/service/sync/BasicExportTimeService.java @@ -1,13 +1,16 @@ package com.glxp.api.service.sync; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.req.sync.BasicExportTimeRequest; +import com.glxp.api.service.CustomService; import java.util.List; -public interface BasicExportTimeService extends IService { +public interface BasicExportTimeService extends CustomService { BasicExportStatusTimeEntity findByType(String type); diff --git a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java index cc69ddbc..31000958 100644 --- a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java +++ b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java @@ -40,6 +40,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; @@ -132,6 +133,7 @@ public class SpsSyncDownloadService { } } + @Transactional // 创建国家库同步任务 public void syncDiProductsTask(Date lastUpdateTime) { @@ -144,8 +146,16 @@ public class SpsSyncDownloadService { //首次任务or上次任务结束 if (exportStatus == null || BasicExportStatusEnum.COMPLETED.getCode().equals(exportStatus.getStatus())) { SpsSyncDataRequest spsSyncDataRequest = getRequest(ConstantStatus.SYNC_DI_PRODUCTS); - if (lastUpdateTime != null) + if (lastUpdateTime != null) { spsSyncDataRequest.setLastUpdateTime(DateUtil.formatDateTime(lastUpdateTime)); + + BasicExportStatusTimeEntity timeInfo = BasicExportStatusTimeEntity.builder() + .key("AutoDownloadDiProducts") + .lastUpdateTime(DateUtil.formatDateTime(lastUpdateTime)) + .build(); + basicExportTimeService.replace(timeInfo); + } + BaseResponse baseResponse = syncUdi(spsSyncDataRequest); SpSyncUdiResponse spSyncUdiResponse = baseResponse.getData(); if (CollUtil.isNotEmpty(spSyncUdiResponse.getProductInfoEntityList()) @@ -275,10 +285,10 @@ public class SpsSyncDownloadService { .updateTime(cn.hutool.core.date.DateUtil.date()) .startTime(now) .build(); + basicExportService.save(exportStatus); if (syncTime != null) { createFileMethod.apply(applicationContext.getBean(this.getClass())); } - basicExportService.save(exportStatus); } else if (exportStatus.getStatus().equals(BasicExportStatusEnum.WAIT_BUILT.getCode())) {//文件待生成 createFileMethod.apply(applicationContext.getBean(this.getClass())); } diff --git a/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java b/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java index 58a5351e..a8933571 100644 --- a/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/sync/impl/BasicExportTimeServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.dao.sync.BasicExportTimeDao; import com.glxp.api.entity.sync.BasicExportStatusTimeEntity; import com.glxp.api.req.sync.BasicExportTimeRequest; +import com.glxp.api.service.CustomServiceImpl; import com.glxp.api.service.sync.BasicExportTimeService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -15,7 +16,7 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class BasicExportTimeServiceImpl extends ServiceImpl implements BasicExportTimeService { +public class BasicExportTimeServiceImpl extends CustomServiceImpl implements BasicExportTimeService { @Resource BasicExportTimeDao basicExportTimeDao; diff --git a/src/main/java/com/glxp/api/util/SupplementVailUtil.java b/src/main/java/com/glxp/api/util/SupplementVailUtil.java index 17912680..7ac1aea6 100644 --- a/src/main/java/com/glxp/api/util/SupplementVailUtil.java +++ b/src/main/java/com/glxp/api/util/SupplementVailUtil.java @@ -54,7 +54,7 @@ public class SupplementVailUtil { basicProductSetEntity = basicProductSetEntityMap.get("manufactory"); if (isMustFill(type, basicProductSetEntity)) { if (StrUtil.isEmptyIfStr(supplementRequest.getManufactory())) { - return "生产厂家不能为空"; + return "生产企业不能为空"; } } diff --git a/src/main/java/com/glxp/api/util/page/TableDataInfo.java b/src/main/java/com/glxp/api/util/page/TableDataInfo.java index c7e958f4..eaddbd2d 100644 --- a/src/main/java/com/glxp/api/util/page/TableDataInfo.java +++ b/src/main/java/com/glxp/api/util/page/TableDataInfo.java @@ -2,6 +2,7 @@ package com.glxp.api.util.page; import cn.hutool.http.HttpStatus; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.glxp.api.common.enums.ResultEnum; import lombok.Data; import lombok.NoArgsConstructor; @@ -48,7 +49,7 @@ public class TableDataInfo { public static TableDataInfo build(IPage page) { TableDataInfo rspData = new TableDataInfo<>(); - rspData.setCode(20000); + rspData.setCode(ResultEnum.SUCCESS.getCode()); rspData.setMsg("查询成功"); rspData.setList(page.getRecords()); rspData.setTotal(page.getTotal()); diff --git a/src/main/resources/mybatis/mapper/auth/DeptDao.xml b/src/main/resources/mybatis/mapper/auth/DeptDao.xml index 63ffbaaa..145032ac 100644 --- a/src/main/resources/mybatis/mapper/auth/DeptDao.xml +++ b/src/main/resources/mybatis/mapper/auth/DeptDao.xml @@ -40,7 +40,8 @@ - select auth_dept.* from auth_dept INNER JOIN auth_warehouse diff --git a/src/main/resources/mybatis/mapper/auth/SysUserRoleMapper.xml b/src/main/resources/mybatis/mapper/auth/SysUserRoleMapper.xml index 58bf6871..f66af6b7 100644 --- a/src/main/resources/mybatis/mapper/auth/SysUserRoleMapper.xml +++ b/src/main/resources/mybatis/mapper/auth/SysUserRoleMapper.xml @@ -20,6 +20,13 @@ where user_id=#{id} + + DELETE diff --git a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml index f8e684b1..19ba6662 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml @@ -126,6 +126,9 @@ AND bu.corpType = #{corpType} + + AND bu.actionType = #{actionType} + AND bu.sortNum = #{sortNum} diff --git a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml index 60801132..73e708ff 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiProductDao.xml @@ -793,6 +793,9 @@ updateTime=#{updateTime}, + + groupBuy=#{groupBuy}, + where id = #{id} diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 1c371d0f..ce703666 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -305,7 +305,8 @@ basic_products.basicPrductRemak5, basic_products.basicPrductRemak6, basic_products.basicPrductRemak7, - basic_products.basicPrductRemak8 + basic_products.groupBuy, + basic_products.basicPrductRemak8 FROM basic_products inner JOIN basic_udirel ON basic_products.uuid = basic_udirel.uuid diff --git a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml index 5ab6e0d4..7820609a 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRlSupDao.xml @@ -105,6 +105,7 @@ basic_products.basicPrductRemak6, basic_products.basicPrductRemak7, basic_products.basicPrductRemak8, + basic_products.groupBuy, basic_corp.name companyName FROM company_product_relevance inner JOIN basic_udirel diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml index e0aa523e..122998d2 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml @@ -51,8 +51,8 @@ - select * - from io_order_invoice + SELECT ic.*, + (select cpmctymc + from basic_products + where basic_products.uuid = bu.uuid + GROUP BY basic_products.uuid) cpmctymc, + (select ggxh from basic_products where basic_products.uuid = bu.uuid GROUP BY basic_products.uuid) ggxh + FROM io_order_invoice ic + LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk + LEFT JOIN basic_products bp ON bu.uuid = bp.uuid - - AND id = #{id} + + AND ic.orderIdFk = #{orderIdFk} - - AND bizIdFk = #{bizIdFk} + + AND ic.bindRlFk = #{bindRlFk} - - AND orderIdFk = #{orderIdFk} + + AND ic.batchNo = #{batchNo} + + + AND (ic.batchNo is null or ic.batchNo = '') + GROUP BY ic.id diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml index fed3333a..f68ceca7 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDao.xml @@ -77,6 +77,7 @@ + group by ipp.id select ipp.id, - ipp.nameCode, - bp.cpmctymc, - ipp.relIdFk, - bp.ggxh, - ipp.batchNo, - ipp.productionDate, - ipp.expireDate, - bp.ylqxzcrbarmc, - bp.zczbhhzbapzbh, - ipp.inCount, - ipp.outCount, - ipp.reCount, - ipp.customerId, - basic_corp.name supName, - ipp.supId, - auth_dept.name deptName, - auth_warehouse.name invName, - ipp.deptCode, - ipp.invCode, - bp.measname + ipp.nameCode, + bp.cpmctymc, + ipp.relIdFk, + bp.ggxh, + ipp.batchNo, + ipp.productionDate, + ipp.expireDate, + bp.ylqxzcrbarmc, + bp.zczbhhzbapzbh, + ipp.inCount, + ipp.outCount, + ipp.reCount, + ipp.customerId, + basic_corp.name supName, + ipp.supId, + auth_dept.name deptName, + auth_warehouse.name invName, + ipp.deptCode, + ipp.invCode, + bp.measname from inv_prein_product ipp - inner join basic_udirel on ipp.relIdFk = basic_udirel.id - inner join basic_products bp on basic_udirel.uuid = bp.uuid - left join basic_corp on ipp.supId = basic_corp.erpId - left join auth_dept on auth_dept.code = ipp.deptCode - left join auth_warehouse on auth_warehouse.code = ipp.invCode + inner join basic_udirel on ipp.relIdFk = basic_udirel.id + inner join basic_products bp on basic_udirel.uuid = bp.uuid + left join basic_corp on ipp.supId = basic_corp.erpId + left join auth_dept on auth_dept.code = ipp.deptCode + left join auth_warehouse on auth_warehouse.code = ipp.invCode AND bp.cpmctymc like concat('%', #{cpmctymc}, '%') @@ -76,16 +76,17 @@ + group by ipp.id - select * - FROM pur_order_detail - - - AND orderIdFk = #{orderIdFk} - - - AND productId = #{productId} - - - AND supId = #{supId} - - - - - - - - - - - - DELETE FROM pur_order_detail WHERE id in - - #{item} - - - - - - - - DELETE - FROM pur_order_detail - WHERE orderIdFk = #{orderIdFk} - - - - UPDATE pur_order_detail - - orderIdFk=#{orderIdFk}, - productId=#{productId}, - productName=#{productName}, - `count`=#{count}, - supId=#{supId}, - zczbhhzbapzbh=#{zczbhhzbapzbh}, - - WHERE id = #{id} - - - - - REPLACE INTO pur_order_detail - ( orderIdFk,productId,productName,count,supId,zczbhhzbapzbh) values - - - ( - #{item.orderIdFk}, - #{item.productId}, - #{item.productName}, - #{item.count}, - #{item.supId}, - #{item.zczbhhzbapzbh} - ) - - - - - - \ No newline at end of file + + + + + + + + + + + + + + id, orderIdFk, productId, productName, `count`, supId, zczbhhzbapzbh + + + + + + + + + + DELETE + FROM pur_order_detail WHERE id in + + #{item} + + + + + + DELETE + FROM pur_order_detail + WHERE orderIdFk = #{orderIdFk} + + + + UPDATE pur_order_detail + + + orderIdFk=#{orderIdFk}, + + + productId=#{productId}, + + + productName=#{productName}, + + + `count`=#{count}, + + + supId=#{supId}, + + + zczbhhzbapzbh=#{zczbhhzbapzbh}, + + + WHERE id = #{id} + + + + + REPLACE INTO pur_order_detail + (orderIdFk, productId, productName, count, supId, zczbhhzbapzbh) values + + + (#{item.orderIdFk}, + #{item.productId}, + #{item.productName}, + #{item.count}, + #{item.supId}, + #{item.zczbhhzbapzbh}) + + + + + diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml index 0a1b1975..649f335c 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml @@ -171,7 +171,7 @@ AND tdi.uuid = #{uuid} - AND tdi.name = #{name} + AND tdi.name like concat('%',#{name},'%') AND tdi.spec = #{spec} diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index c46b149b..3b6f34c7 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -50,6 +50,8 @@ CALL Pro_Temp_ColumnWork('thr_products', 'updateUser', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('thr_products', 'createUser', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('thr_products', 'createTime', 'varchar(255) ', 1); +CALL Pro_Temp_ColumnWork('basic_products', 'groupBuy', 'tinyint ', 1); + CALL Pro_Temp_ColumnWork('auth_warehouse', 'advanceType', 'tinyint', 1); @@ -182,6 +184,11 @@ CALL Pro_Temp_ColumnWork('sys_pdf_template', 'bussinessStatus', 'varchar(255)', CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'filePath', 'varchar(255)', 1); +CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'coldFilePath', 'varchar(255)', 1); + +CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'checkColdFileName', 'varchar(255)', 1); + + CALL Pro_Temp_ColumnWork('io_order', 'checkStatus', 'tinyint', 1); INSERT ignore INTO `sys_scheduled`(`id`, `cronName`, `cron`, `customerId`, `remark`) @@ -373,6 +380,8 @@ CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'spaceOut', 'tinyint', 1); CALL Pro_Temp_ColumnWork('io_order_detail_code', 'id', 'bigint ', 2); CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'id', 'bigint ', 2); +CALL Pro_Temp_ColumnWork('io_order_invoice', 'bizIdFk', 'bigint ', 2); +