diff --git a/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java index 7a6cca87d..e476317e9 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java @@ -205,7 +205,7 @@ public class BasicOrderPrintController { for (IoCodeEntity obj : ioCodeEntityList) { //查询业务表 for (IoOrderDetailBizEntity ioObj : ioOrderDetailBizEntityList) { - if (ioObj.getBatchNo().equals(obj.getBatchNo()) && ioObj.getBindRlFk().equals(obj.getRelId())) { + if (StrUtil.nullToEmpty(ioObj.getBatchNo()).equals(StrUtil.nullToEmpty(obj.getBatchNo())) && ioObj.getBindRlFk().equals(obj.getRelId())) { ioOrderDetailBizEntity = ioObj; break; } 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 613515d97..b531c9374 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -44,10 +44,7 @@ import com.glxp.api.service.inv.InvPreProductDetailService; import com.glxp.api.service.inv.InvPreinProductDetailService; import com.glxp.api.service.inv.impl.InvProductDetailService; import com.glxp.api.service.system.SystemParamConfigService; -import com.glxp.api.util.CustomUtil; -import com.glxp.api.util.GennerOrderUtils; -import com.glxp.api.util.IntUtil; -import com.glxp.api.util.OrderNoTypeBean; +import com.glxp.api.util.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; @@ -781,16 +778,61 @@ public class IoOrderController extends BaseController { return ResultVOUtils.success("删除成功!"); } + @Resource + public RedisUtil redisUtil; + + /** + * 为平潭写的删除科室出库的单据,验收完后需要删掉 + * + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("udiwms/inout/order/finish/pt/delete") + @Log(title = "单据管理", businessType = BusinessType.DELETE) + public BaseResponse deleteAll(@RequestBody DeleteRequest deleteRequest) { + + List orderEntities = orderService.findAllByAction("SC71021292871198"); + Boolean b = redisUtil.getBool("deleteAllOrder"); + if (b) + return ResultVOUtils.error("当前删除任务正在执行,请勿重复点击!"); + redisUtil.set("deleteAllOrder", true); + orderEntities.parallelStream().forEach(item -> + { + List delBillNos = new ArrayList<>(); + delBillNos.add(item.getBillNo()); + orderService.deleteInvByBillNo(delBillNos); + for (String billNo : delBillNos) { + orderService.deleteByBillNo(billNo); + orderDetailBizService.deleteByOrderId(billNo); + orderDetailCodeService.deleteByOrderId(billNo); + codeTempService.deleteByBillNo(billNo); + codeService.deleteCodeByOrderId(billNo); + } + } + ); + redisUtil.set("deleteAllOrder", false); + return ResultVOUtils.success("删除成功!"); + } //单据编辑,条码减一 @AuthRuleAnnotation("") @PostMapping("udiwms/inout/code/finish/delete") @Log(title = "单据管理", businessType = BusinessType.DELETE) public BaseResponse deleteCodeById(@RequestBody IoCodeEntity codeEntity) { - orderService.deleteInvCode(codeEntity); + orderService.deleteInvCode(codeEntity, false); + return ResultVOUtils.success("删除成功!"); + } + + //单据编辑,条码减一 + @AuthRuleAnnotation("") + @PostMapping("udiwms/inout/code/finish/deleteAll") + @Log(title = "单据管理", businessType = BusinessType.DELETE) + public BaseResponse deleteCodeAllById(@RequestBody IoCodeEntity codeEntity) { + orderService.deleteInvCode(codeEntity, true); return ResultVOUtils.success("删除成功!"); } + //已验收单据撤回 @RepeatSubmit() @AuthRuleAnnotation("") 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 cab5c45e6..89f55776c 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -370,6 +370,9 @@ public class IoOrderDetailResultController extends BaseController { ioOrderDetailResultData.put("confirmEndTime", filterOrderDetailResultRequest.getConfirmEndTime() == null ? ' ' : filterOrderDetailResultRequest.getConfirmEndTime()); ioOrderDetailResultData.put("employeeName", filterOrderDetailResultRequest.getEmployeeName() == null ? ' ' : filterOrderDetailResultRequest.getEmployeeName()); ioOrderDetailResultData.put("fromInvName", ioOrderDetailResultResponse.getFromInvName() == null ? ' ' : ioOrderDetailResultResponse.getFromInvName()); + ioOrderDetailResultData.put("isStack", ioOrderDetailResultResponse.getIsStack() == null ? ' ' : ioOrderDetailResultResponse.getIsStack()); + ioOrderDetailResultData.put("groupBuy", ioOrderDetailResultResponse.getGroupBuy() == null ? ' ' : ioOrderDetailResultResponse.getGroupBuy()); + ioOrderDetailResultData.put("invoiceCodes", ioOrderDetailResultResponse.getInvoiceCodes() == null ? ' ' : ioOrderDetailResultResponse.getInvoiceCodes()); if (thrProductsEntity != null) { ioOrderDetailResultData.put("cplb", thrProductsEntity.getCplb() == null ? ' ' : thrProductsEntity.getCplb()); } diff --git a/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java b/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java index a42ef4e9b..7f636139a 100644 --- a/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java +++ b/src/main/java/com/glxp/api/controller/purchase/SupCertRemindMsgController.java @@ -1,12 +1,15 @@ package com.glxp.api.controller.purchase; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.Log; 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.constant.BusinessType; +import com.glxp.api.dao.purchase.SupCertRemindMsgDao; +import com.glxp.api.entity.purchase.SupCertRemindMsgEntity; import com.glxp.api.req.purchase.FilterCertRemindMsgRequest; import com.glxp.api.res.purchase.SupCertRemindMsgResponse; import com.glxp.api.service.purchase.SupCertRemindMsgService; @@ -40,6 +43,17 @@ public class SupCertRemindMsgController { return ResultVOUtils.page(pageInfo); } + + @Resource + private SupCertRemindMsgDao supCertRemindMsgDao; + + @GetMapping("/sup/cert/remind/msg/getCount") + public BaseResponse getCount(FilterCertRemindMsgRequest filterCertRemindMsgRequest) { + long count = supCertRemindMsgDao.selectCount(new LambdaQueryWrapper().eq(SupCertRemindMsgEntity::getStatus, 1)); + return ResultVOUtils.success(count); + } + + /** * 确认消息 * diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java index 7697a294c..bc152b4e6 100644 --- a/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrProductsController.java @@ -318,9 +318,9 @@ public class ThrProductsController { if (null == udiRelevanceResponse) { return ResultVOUtils.error(500, "参数不能为空"); } - if (!IntUtil.value(udiRelevanceResponse.getNewNeedUpload()) && StrUtil.isEmpty(udiRelevanceResponse.getOriginUuid())) { - return ResultVOUtils.error(500, "产品未关联DI"); - } +// if (!IntUtil.value(udiRelevanceResponse.getNewNeedUpload()) ) { +// return ResultVOUtils.error(500, "产品未关联DI"); +// } return thrProductsService.postThrProduct(udiRelevanceResponse, "thirdId"); } diff --git a/src/main/java/com/glxp/api/dao/system/SysMsgTodoMapper.java b/src/main/java/com/glxp/api/dao/system/SysMsgTodoMapper.java new file mode 100644 index 000000000..f881a0145 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/system/SysMsgTodoMapper.java @@ -0,0 +1,20 @@ +package com.glxp.api.dao.system; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.system.SysMsgTodoEntity; +import com.glxp.api.req.system.SysMsgTodoQuery; +import com.glxp.api.vo.system.SysMsgTodoVo; + +import java.util.List; + +/** + * 针对表【sys_msg_todo】的数据库操作Mapper + */ +public interface SysMsgTodoMapper extends BaseMapper { + + List pageOfVo(SysMsgTodoQuery query); +} + + + + 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 a9ee1c289..9901c36b4 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiProductEntity.java @@ -127,7 +127,6 @@ public class UdiProductEntity { @TableField(exist = false) //本地生成信息 private String batchNo; - @TableField(exist = false) private String produceDate; @TableField(exist = false) private String expireDate; @@ -226,6 +225,7 @@ public class UdiProductEntity { private Integer hcType; @TableField(value = "requireScanCode") private Integer requireScanCode; + private Boolean isStack; /** diff --git a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java index 26829c5d3..2f4935381 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java @@ -260,4 +260,11 @@ public class UdiRelevanceEntity { @TableField(value = "productsType") private Integer productsType; + + /** + * 是否组套 + */ + @TableField(value = "isStack") + private Boolean isStack; + } diff --git a/src/main/java/com/glxp/api/entity/inv/InvRemindSetEntity.java b/src/main/java/com/glxp/api/entity/inv/InvRemindSetEntity.java index 2044bc2a8..d9914f449 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvRemindSetEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvRemindSetEntity.java @@ -96,6 +96,20 @@ public class InvRemindSetEntity { @TableField(value = "`status`") private Integer status; + + @TableField(value = "overStockNum") + private Integer overStockNum; + + @TableField(value = "recentDateTime") + private Integer recentDateTime; + + @TableField(value = "lowStockNum") + private Integer lowStockNum; + + @TableField(value = "isDateBy") + private Integer isDateBy; + + @Override public String toString() { return "InvRemindSetEntity{" + diff --git a/src/main/java/com/glxp/api/entity/system/SysMsgTodoController.java b/src/main/java/com/glxp/api/entity/system/SysMsgTodoController.java new file mode 100644 index 000000000..211ae10a5 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/system/SysMsgTodoController.java @@ -0,0 +1,34 @@ +package com.glxp.api.entity.system; + +import cn.hutool.core.bean.BeanUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.req.system.SysMsgTodoQuery; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.system.SysMsgTodoService; +import com.glxp.api.vo.system.SysMsgTodoVo; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequiredArgsConstructor +public class SysMsgTodoController { + + private final SysMsgTodoService sysMsgTodoService; + + @PostMapping("/spms/sysMsgTodo/page") + public BaseResponse page(@RequestBody SysMsgTodoQuery query) { + List msgTodoVos = sysMsgTodoService.pageOfVo(query); + PageInfo page = new PageInfo<>(msgTodoVos); + PageSimpleResponse simpleResponse = new PageSimpleResponse<>(); + simpleResponse.setTotal(page.getTotal()); + simpleResponse.setList(BeanUtil.copyToList(msgTodoVos, SysMsgTodoVo.class)); + return ResultVOUtils.success(simpleResponse); + } + +} diff --git a/src/main/java/com/glxp/api/entity/system/SysMsgTodoEntity.java b/src/main/java/com/glxp/api/entity/system/SysMsgTodoEntity.java new file mode 100644 index 000000000..e9d1672fc --- /dev/null +++ b/src/main/java/com/glxp/api/entity/system/SysMsgTodoEntity.java @@ -0,0 +1,98 @@ +package com.glxp.api.entity.system; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.glxp.api.enums.DealStatusEnum; +import com.glxp.api.enums.PushStatusEnum; +import com.glxp.api.enums.TodoMsgTypeEnum; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * + * @TableName sys_msg_todo + */ +@TableName(value ="sys_msg_todo") +@Data +public class SysMsgTodoEntity { + /** + * + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 消息编码 + */ + @TableField(value = "code") + private String code; + + /** + * 消息类型(1:入院物资申请;2:单据审核;3:单据发票确认;5.资质审核;6:领用单审核;7:申购单审核;8:采购订单审核;) + */ + @TableField(value = "msgType") + private TodoMsgTypeEnum msgType; + + /** + * 消息内容 + */ + @TableField(value = "msgContent") + private String msgContent; + + /** + * 处理状态 + */ + @TableField(value = "dealStatus") + private DealStatusEnum dealStatus; + + /** + * 推送小程序状态(1:未推送;2:推送成功;3:推送失败 + */ + @TableField(value = "pushStatus") + private PushStatusEnum pushStatus; + + /** + * 跳转地址 + */ + @TableField(value = "toUrl") + private String toUrl; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + private LocalDateTime createTime; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + private String updateUser; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + private LocalDateTime updateTime; + + /** + * 所属仓库 + */ + @TableField(value = "deptCode") + private String deptCode; + + /** + * 所属仓库 + */ + @TableField(value = "invCode") + private String invCode; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java index e142ae8b3..81f9f0949 100644 --- a/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrInvOrder.java @@ -109,7 +109,7 @@ public class ThrInvOrder implements Serializable { private Integer sourceType; /** - * 生成单据状态,1.未生成,2.部分生成,3.已生成 + * 生成单据状态,1.未生成,2.部分生成,3.已生成,4:正在生成 */ private Integer genStatus; diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java index 889f4602d..545d6d377 100644 --- a/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrProductsAddDiEntity.java @@ -1,5 +1,6 @@ package com.glxp.api.entity.thrsys; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.util.Date; @@ -69,7 +70,6 @@ public class ThrProductsAddDiEntity { private String basicPrductRemak8; - private String name; private String spec; private String registerNo; @@ -96,6 +96,7 @@ public class ThrProductsAddDiEntity { private String relId; private String nameCode; private Integer type; - + @TableField(value = "isStack") + private Integer isStack; } diff --git a/src/main/java/com/glxp/api/enums/DealStatusEnum.java b/src/main/java/com/glxp/api/enums/DealStatusEnum.java new file mode 100644 index 000000000..f4f81bf42 --- /dev/null +++ b/src/main/java/com/glxp/api/enums/DealStatusEnum.java @@ -0,0 +1,20 @@ +package com.glxp.api.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum DealStatusEnum { + + NOT_CONFIRMED("not_confirmed", 1, "未处理"), + + CONFIRMED("confirmed", 2, "已处理"), + ; + + final String key; + @EnumValue + final Integer value; + final String desc; +} diff --git a/src/main/java/com/glxp/api/enums/PushStatusEnum.java b/src/main/java/com/glxp/api/enums/PushStatusEnum.java new file mode 100644 index 000000000..0c9b4797b --- /dev/null +++ b/src/main/java/com/glxp/api/enums/PushStatusEnum.java @@ -0,0 +1,23 @@ +package com.glxp.api.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum PushStatusEnum { + + NOT_PUSHED("not_pushed", 1, "未推送"), + + PUSH_SUCCESS("push_success", 2, "推送成功"), + PUSH_FAIL("push_fail", 3, "推送失败"), + ; + + final String key; + @EnumValue + final Integer value; + final String desc; + + +} diff --git a/src/main/java/com/glxp/api/enums/TodoMsgTypeEnum.java b/src/main/java/com/glxp/api/enums/TodoMsgTypeEnum.java new file mode 100644 index 000000000..2e0d6588c --- /dev/null +++ b/src/main/java/com/glxp/api/enums/TodoMsgTypeEnum.java @@ -0,0 +1,27 @@ +package com.glxp.api.enums; + +import com.baomidou.mybatisplus.annotation.EnumValue; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum TodoMsgTypeEnum { + + PUT_IN_APPLY("put_in_apply", 1, "入院物资申请"), + + ORDER_AUDIT("order_audit", 2, "单据审核"), + INVOICE_CONFIRM("invoice_confirm", 3, "单据发票确认"), + CERT_AUDIT("cert_audit", 5, "资质审核"), + USE_AUDIT("use_audit", 6, "领用单审核"), + BUY_APPLY_AUDIT("buy_audit", 7, "申购单审核"), + PROCUREMENT_AUDIT("procurement_audit", 8, "采购单审核"), + ; + + final String key; + @EnumValue + final Integer value; + final String desc; + + +} diff --git a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java index d430608f0..bb208cd50 100644 --- a/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java +++ b/src/main/java/com/glxp/api/req/basic/CompanyProductRelevanceRequest.java @@ -63,6 +63,7 @@ public class CompanyProductRelevanceRequest extends ListPageRequest { * 耗材分类高值 :1:高值耗材;2.普通耗材 */ private Integer hcType; + private Boolean isStack; private String corpId; private String billType; private String manufactory; diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java index 8982e5ec9..b48a37b74 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java @@ -60,7 +60,7 @@ public class FilterUdiInfoRequest extends ListPageRequest { private Integer hcType; private String corpId; private String billType; - + private Boolean isStack; private String ybbm; private String sptm; private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询 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 56a1d61a1..cfcfaf70c 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java @@ -65,7 +65,7 @@ public class FilterUdiRelRequest extends ListPageRequest { private Integer hcType; private String corpId; private String billType; - + private Boolean isStack; private String ybbm; private String sptm; private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询 diff --git a/src/main/java/com/glxp/api/req/basic/SupplementRequest.java b/src/main/java/com/glxp/api/req/basic/SupplementRequest.java index f79f72fe4..6f4149461 100644 --- a/src/main/java/com/glxp/api/req/basic/SupplementRequest.java +++ b/src/main/java/com/glxp/api/req/basic/SupplementRequest.java @@ -23,7 +23,7 @@ public class SupplementRequest { private String cpms; private String price; private Integer purType; - + private Boolean isStack; private String flbm; private String requireScanCode; diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java index e5a95178b..4ab469e2a 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java @@ -46,7 +46,7 @@ public class UdiRelevanceRequest { private String originUuid; private String price; private String modifyTime; //修改时间 - + private Boolean isStack; private Boolean useMuti; //是否多次使用 private Integer useNum; //最小包装单元可使用次数 private Integer zdcfsycs; diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java index 2077485a4..28354b862 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java @@ -46,7 +46,7 @@ public class UdiRelevanceSaveRequest { private String createUser; private String updateUser; private String remark; - + private Boolean isStack; //UdiInfoEntity private String originUuid; private String nameCode; 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 ba0aa6f3b..d669851ed 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java @@ -48,6 +48,9 @@ public class FilterOrderDetailResultRequest extends ListPageRequest { private String actionType; private String manufacturer; private String zczbhhzbapzbh; + private Boolean isStack; + private String invoiceEncode; + private String templateId; private List actions; private List list; @@ -62,6 +65,9 @@ public class FilterOrderDetailResultRequest extends ListPageRequest { private String confirmEndTime; //发票确认结束日期 private String corpName;//供应商名字 + + private Boolean groupBuy; //是否集采产品 + /** * 1:器械 2:药品 */ diff --git a/src/main/java/com/glxp/api/req/inv/AddInvRemindSetRequest.java b/src/main/java/com/glxp/api/req/inv/AddInvRemindSetRequest.java index 4695124e1..38bd7773e 100644 --- a/src/main/java/com/glxp/api/req/inv/AddInvRemindSetRequest.java +++ b/src/main/java/com/glxp/api/req/inv/AddInvRemindSetRequest.java @@ -1,5 +1,6 @@ package com.glxp.api.req.inv; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.util.List; @@ -71,4 +72,17 @@ public class AddInvRemindSetRequest { * 耗材字典ID集合 */ private List relIdList; + + + @TableField(value = "overStockNum") + private Integer overStockNum; + + @TableField(value = "recentDateTime") + private Integer recentDateTime; + + @TableField(value = "lowStockNum") + private Integer lowStockNum; + + @TableField(value = "isDateBy") + private Integer isDateBy; } diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java index 617d74ce2..9104b0cf6 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvProductRequest.java @@ -135,6 +135,13 @@ public class FilterInvProductRequest extends ListPageRequest { private Integer highValue; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; /** * 产品类型 1:耗材 2:药品 */ diff --git a/src/main/java/com/glxp/api/req/system/SysMsgTodoQuery.java b/src/main/java/com/glxp/api/req/system/SysMsgTodoQuery.java new file mode 100644 index 000000000..6d5176638 --- /dev/null +++ b/src/main/java/com/glxp/api/req/system/SysMsgTodoQuery.java @@ -0,0 +1,19 @@ +package com.glxp.api.req.system; + +import com.glxp.api.enums.DealStatusEnum; +import com.glxp.api.enums.PushStatusEnum; +import com.glxp.api.enums.TodoMsgTypeEnum; +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class SysMsgTodoQuery extends ListPageRequest { + + TodoMsgTypeEnum msgType; + PushStatusEnum pushStatus; + DealStatusEnum dealStatus; + + String invCode; + + String deptCode; +} diff --git a/src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java b/src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java index 6e7fe528f..b5adca8f0 100644 --- a/src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java +++ b/src/main/java/com/glxp/api/req/thrsys/AddThrDiProductsRequest.java @@ -35,7 +35,12 @@ public class AddThrDiProductsRequest { private String cpms; private String price; private List selectThirdSys; + /** + * 产品分类高值 :1:高值耗材;2.普通耗材 + */ + private Integer hcType; + private Boolean isStack; private String basicPrductRemak1; private String basicPrductRemak2; private String basicPrductRemak3; diff --git a/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java index e7e334b8d..335fe3cd8 100644 --- a/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java +++ b/src/main/java/com/glxp/api/req/thrsys/FilterThrProductsRequest.java @@ -35,6 +35,7 @@ public class FilterThrProductsRequest extends ListPageRequest { private String uuid; private Integer diType; private Integer type; + private Boolean isStack; public List getThrProductsEntities() { return thrProductsEntities; diff --git a/src/main/java/com/glxp/api/res/basic/CompanyProductRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/CompanyProductRelevanceResponse.java index 2bc415c44..d68f19f3f 100644 --- a/src/main/java/com/glxp/api/res/basic/CompanyProductRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/CompanyProductRelevanceResponse.java @@ -94,4 +94,9 @@ public class CompanyProductRelevanceResponse { private String basicPrductRemak6; private String basicPrductRemak7; private String basicPrductRemak8; + + private String cphhhbh; + + private Boolean isStack; + } 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 e01fc848b..d0b8c2f1a 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -144,7 +144,7 @@ public class UdiRelevanceResponse { * 系统新增需要上传 */ private Boolean newNeedUpload; - + private Boolean isStack; /** * 上传状态 0:未上传;1:已上传; 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 258718815..7fe965338 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRlSupResponse.java @@ -96,30 +96,34 @@ public class UdiRlSupResponse { * 一级分类名称(学科,品名) */ @TableField(value = "catalogname1") - @ApiModelProperty(value="一级分类名称(学科,品名)") + @ApiModelProperty(value = "一级分类名称(学科,品名)") private String catalogname1; /** * 二级分类名称(用途、品目) */ @TableField(value = "catalogname2") - @ApiModelProperty(value="二级分类名称(用途、品目)") + @ApiModelProperty(value = "二级分类名称(用途、品目)") private String catalogname2; /** * 三级分类名称(部位、功能、品种) */ @TableField(value = "catalogname3") - @ApiModelProperty(value="三级分类名称(部位、功能、品种)") + @ApiModelProperty(value = "三级分类名称(部位、功能、品种)") private String catalogname3; /** * 耗材材质 */ @TableField(value = "matrial") - @ApiModelProperty(value="耗材材质") + @ApiModelProperty(value = "耗材材质") private String matrial; - + /** + * 产品分类高值 :1:高值耗材;2.普通耗材 + */ + private Integer hcType; + private Boolean isStack; private Integer requireScanCode; 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 1dc0c55a9..6024d48c5 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailResultResponse.java @@ -189,6 +189,7 @@ public class IoOrderDetailResultResponse { private String mainAction; @ExcelProperty(value = "出入库时间", index = 12) private Date auditTime; + private Date productionDate; private String fromInvName; @ExcelProperty(value = "往来单位", index = 0) @@ -211,12 +212,15 @@ public class IoOrderDetailResultResponse { //金额 private BigDecimal amount; + private String invoiceEncode; @ExcelProperty(value = "发票确认时间", index = 12) private Date confirmTime; @ExcelProperty(value = "配送商", index = 7) private String corpName; + private Boolean isStack; + private Boolean groupBuy; //制剂规格 private String prepnSpec; diff --git a/src/main/java/com/glxp/api/res/inv/InvProductResponse.java b/src/main/java/com/glxp/api/res/inv/InvProductResponse.java index 6df213c00..60d60f732 100644 --- a/src/main/java/com/glxp/api/res/inv/InvProductResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvProductResponse.java @@ -140,6 +140,14 @@ public class InvProductResponse { */ private String thrCode; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + /** diff --git a/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java b/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java index a2b60e1c3..b11e23411 100644 --- a/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java +++ b/src/main/java/com/glxp/api/res/thrsys/UdiInfoResponse.java @@ -99,6 +99,10 @@ public class UdiInfoResponse { private String basicPrductRemak8; private String remark; + + private String matrial; + private Boolean isStack; + public Integer getId() { return id; } diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index 03ddef9ec..9cad9ce8b 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -355,18 +355,47 @@ public class IoAddInoutService { newBizList.add(orderDetailBizEntity); } } + } else { + newBizList.add(bizEntity); + } + } else if (StrUtil.isEmpty(bizEntity.getBatchNo())) { + List invProductEntities = invProductService.selectByRelId(bizEntity.getBindRlFk(), bizEntity.getSupId(), null, orderEntity.getInvCode()); + if (CollUtil.isNotEmpty(invProductEntities)) { + int count = 0; + for (InvProductEntity invProductEntity : invProductEntities) { + if (invProductEntity.getReCount() + count > IntUtil.value(bizEntity.getCount())) { + IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(bizEntity, orderDetailBizEntity); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizEntity.setBatchNo(invProductEntity.getBatchNo()); + newBizList.add(orderDetailBizEntity); + break; + } else { + count = invProductEntity.getReCount(); + IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); + BeanUtils.copyProperties(bizEntity, orderDetailBizEntity); + orderDetailBizEntity.setCount(count); + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); + orderDetailBizEntity.setBatchNo(invProductEntity.getBatchNo()); + newBizList.add(orderDetailBizEntity); + } + } + } else { + newBizList.add(bizEntity); } } } orderDetailBizService.deleteByOrderId(orderEntity.getBillNo()); orderDetailBizService.batchInsertBizs(newBizList); + } else { + newBizList = bizEntities; } List codeTempEntities = new ArrayList<>(); - for (IoOrderDetailBizEntity bizEntity : bizEntities) { + for (IoOrderDetailBizEntity bizEntity : newBizList) { IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); String udiCode = "#" + bizEntity.getNameCode() + "#" + StrUtil.trimToEmpty(bizEntity.getProductDate()) @@ -396,7 +425,7 @@ public class IoAddInoutService { codeTempEntities.add(codeTempEntity); } codeTempService.insertBatch(codeTempEntities); - bizEntities.forEach(orderDetailBizEntity -> { + newBizList.forEach(orderDetailBizEntity -> { IoOrderDetailCodeEntity orderDetailCodeEntity = new IoOrderDetailCodeEntity(); BeanUtils.copyProperties(orderDetailBizEntity, orderDetailCodeEntity); orderDetailCodeEntity.setId(null); diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderService.java b/src/main/java/com/glxp/api/service/inout/IoOrderService.java index 21cae76b8..c7a1122c4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderService.java @@ -48,7 +48,7 @@ public interface IoOrderService { int deleteInvByBillNo(List billNo); - int deleteInvCode(IoCodeEntity codeEntity); + int deleteInvCode(IoCodeEntity codeEntity, Boolean deleteAll); boolean rollUnCheckOrder(String billNo); @@ -141,6 +141,8 @@ public interface IoOrderService { boolean isExitByAction(String action); + List findAllByAction(String action); + /** * 定时任务自动提交单据到第三方系统 * 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 3695d44fe..f2d115334 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 @@ -314,7 +314,7 @@ public class IoOrderServiceImpl implements IoOrderService { //单据编辑条码减一 @Override - public int deleteInvCode(IoCodeEntity codeEntity) { + public int deleteInvCode(IoCodeEntity codeEntity, Boolean deleteAll) { //查询条码 IoOrderEntity orderEntity = findByBillNo(codeEntity.getOrderId()); @@ -322,31 +322,44 @@ public class IoOrderServiceImpl implements IoOrderService { || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) { //更新正式表 IoCodeEntity ioCodeEntity = codeService.getById(codeEntity.getId()); + int remainCount = 0; + int remainScanCount = 0; if (ioCodeEntity.getMyCount() > 1) { //更新码表 - ioCodeEntity.setCount(ioCodeEntity.getMyCount() - 1); - int reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode()); - ioCodeEntity.setReCount(ioCodeEntity.getMyReCount() - reCount); - codeService.updateById(ioCodeEntity); //更新码详情 + int reCount = 0; + if (deleteAll) { + reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode()) * ioCodeEntity.getMyCount(); + remainCount = ioCodeEntity.getMyCount(); + remainScanCount = reCount; + codeService.deleteById(ioCodeEntity.getId()); + } else { + ioCodeEntity.setCount(ioCodeEntity.getMyCount() - 1); + reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode()); + remainCount = 1; + remainScanCount = reCount; + ioCodeEntity.setReCount(ioCodeEntity.getMyReCount() - reCount); + codeService.updateById(ioCodeEntity); //更新码详情 + } + //更新业务详情 IoOrderDetailBizEntity orderDetailBizEntity = orderDetailBizService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo(), null, null); if (orderDetailBizEntity != null) { - orderDetailBizEntity.setCount(IntUtil.value(orderDetailBizEntity.getCount()) - reCount); + orderDetailBizEntity.setCount(IntUtil.value(orderDetailBizEntity.getCount()) - remainScanCount); orderDetailBizService.update(orderDetailBizEntity); } //更新扫码单据详情 IoOrderDetailCodeEntity ioOrderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo(), ioCodeEntity.getPrice()); if (ioOrderDetailCodeEntity != null) { - ioOrderDetailCodeEntity.setReCount(IntUtil.value(ioOrderDetailCodeEntity.getReCount()) - reCount); - ioOrderDetailCodeEntity.setCount(IntUtil.value(ioOrderDetailCodeEntity.getCount()) - reCount); + ioOrderDetailCodeEntity.setReCount(IntUtil.value(ioOrderDetailCodeEntity.getReCount()) - remainScanCount); + ioOrderDetailCodeEntity.setCount(IntUtil.value(ioOrderDetailCodeEntity.getCount()) - remainScanCount); ioOrderDetailCodeService.update(ioOrderDetailCodeEntity); } //更新结果详情 IoOrderDetailResultEntity ioOrderDetailResultEntity = ioOrderDetailResultService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo()); if (ioOrderDetailResultEntity != null) { - ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - reCount); - ioOrderDetailResultEntity.setCount(ioOrderDetailResultEntity.getCount() - reCount); + ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - remainScanCount); + ioOrderDetailResultEntity.setCount(ioOrderDetailResultEntity.getCount() - remainScanCount); ioOrderDetailResultService.update(ioOrderDetailResultEntity); } @@ -357,14 +370,14 @@ public class IoOrderServiceImpl implements IoOrderService { //更新扫码单据详情 IoOrderDetailCodeEntity ioOrderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo(), ioCodeEntity.getPrice()); if (ioOrderDetailCodeEntity != null) { - ioOrderDetailCodeEntity.setReCount(ioOrderDetailCodeEntity.getReCount() - reCount); + ioOrderDetailCodeEntity.setReCount(ioOrderDetailCodeEntity.getReCount() - remainScanCount); ioOrderDetailCodeService.update(ioOrderDetailCodeEntity); } //更新结果详情 IoOrderDetailResultEntity ioOrderDetailResultEntity = ioOrderDetailResultService.findByUnique(ioCodeEntity.getOrderId(), ioCodeEntity.getRelId(), ioCodeEntity.getBatchNo()); - ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - reCount); + ioOrderDetailResultEntity.setReCount(ioOrderDetailResultEntity.getReCount() - remainScanCount); ioOrderDetailResultService.update(ioOrderDetailResultEntity); } //已审核单据需扣减库存 @@ -376,14 +389,13 @@ public class IoOrderServiceImpl implements IoOrderService { InvPreInProductDetailEntity invProductDetailEntity = invPreinProductDetailService.selectByCode(codeEntity.getOrderId(), codeEntity.getCode(), codeEntity.getPrice()); if (invProductDetailEntity != null) { - int count = invProductDetailEntity.getCount() - 1; - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); + int count = invProductDetailEntity.getCount() - remainCount; if (count == 0) { invPreinProductDetailService.deleteById(invProductDetailEntity.getId() + ""); } else { //更新详情表 invProductDetailEntity.setCount(count); - invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); + invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - remainScanCount); invPreinProductDetailService.update(invProductDetailEntity); } //更新产品表 @@ -391,10 +403,10 @@ public class IoOrderServiceImpl implements IoOrderService { invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode(), invProductDetailEntity.getPrice()); if (invProductEntity != null) { if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - reCount; + int inCount = invProductEntity.getInCount() - remainScanCount; invProductEntity.setInCount(inCount); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - reCount; + int outCount = invProductEntity.getOutCount() - remainScanCount; invProductEntity.setOutCount(outCount); } invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); @@ -406,14 +418,13 @@ public class IoOrderServiceImpl implements IoOrderService { } else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存 InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(codeEntity.getOrderId(), codeEntity.getCode(), codeEntity.getPrice()); if (invProductDetailEntity != null) { - int count = invProductDetailEntity.getCount() - 1; - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); + int count = invProductDetailEntity.getCount() - remainCount; if (count == 0) { invPreProductService.deleteById(invProductDetailEntity.getId()); } else { //更新详情表 invProductDetailEntity.setCount(count); - invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); + invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - remainScanCount); invPreProductDetailService.update(invProductDetailEntity); } //更新产品表 @@ -421,10 +432,10 @@ public class IoOrderServiceImpl implements IoOrderService { invProductDetailEntity.getSupId(), invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode(), invProductDetailEntity.getPrice()); if (invProductEntity != null) { if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - reCount; + int inCount = invProductEntity.getInCount() - remainScanCount; invProductEntity.setInCount(inCount); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - reCount; + int outCount = invProductEntity.getOutCount() - remainScanCount; invProductEntity.setOutCount(outCount); } invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); @@ -436,15 +447,13 @@ public class IoOrderServiceImpl implements IoOrderService { InvProductDetailEntity invProductDetailEntity = invProductDetailService.selectByCode(codeEntity.getOrderId(), codeEntity.getCode(), codeEntity.getPrice()); if (invProductDetailEntity != null) { - int count = invProductDetailEntity.getCount() - 1; - int reCount = udiCalCountUtil.getActCount(invProductDetailEntity.getNameCode()); + int count = invProductDetailEntity.getCount() - remainCount; if (count == 0) { - invProductDetailService.deleteById(invProductDetailEntity.getId()); } else { //更新详情表 invProductDetailEntity.setCount(count); - invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - reCount); + invProductDetailEntity.setReCount(invProductDetailEntity.getReCount() - remainScanCount); invProductDetailService.update(invProductDetailEntity); } //更新产品表 @@ -452,10 +461,10 @@ public class IoOrderServiceImpl implements IoOrderService { invProductDetailEntity.getDeptCode(), invProductDetailEntity.getInvCode(), invProductDetailEntity.getPrice()); if (invProductEntity != null) { if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { - int inCount = invProductEntity.getInCount() - reCount; + int inCount = invProductEntity.getInCount() - remainScanCount; invProductEntity.setInCount(inCount); } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { - int outCount = invProductEntity.getOutCount() - reCount; + int outCount = invProductEntity.getOutCount() - remainScanCount; invProductEntity.setOutCount(outCount); } invProductEntity.setReCount(invProductEntity.getInCount() - invProductEntity.getOutCount()); @@ -470,7 +479,7 @@ public class IoOrderServiceImpl implements IoOrderService { } else { //更新临时表 IoCodeTempEntity ioCodeEntity = codeTempService.selectById(codeEntity.getId()); - if (ioCodeEntity.getCount() > 1) { + if (ioCodeEntity.getCount() > 1 && !deleteAll) { //删除一个条码 ioCodeEntity.setCount(ioCodeEntity.getCount() - 1); int reCount = udiCalCountUtil.getActCount(ioCodeEntity.getNameCode()); @@ -959,6 +968,11 @@ public class IoOrderServiceImpl implements IoOrderService { } + @Override + public List findAllByAction(String action) { + return orderDao.selectList(new QueryWrapper().eq("action", action)); + } + @Resource ThrOrderUploadBustypesService thrOrderUploadBustypesService; @Resource diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvRemindMsgServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvRemindMsgServiceImpl.java index a92e387fb..56ca5252d 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvRemindMsgServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvRemindMsgServiceImpl.java @@ -91,14 +91,14 @@ public class InvRemindMsgServiceImpl implements InvRemindMsgService { invRemindMsgRequest.setSupId(invProductEntity.getSupId()); //根据预警设置,添加类型参数 - if (invRemindSetEntity.getLowStock() && null != udiRelevanceEntity.getLowStockNum()) { + if (invRemindSetEntity.getLowStock() && null != invRemindSetEntity.getLowStockNum()) { //开启低库存预警 invRemindMsgRequest.setType("1"); //库存不足预警 InvRemindMsgEntity msgEntity = getInvRemindMsgEntity(invRemindMsgRequest, invProductEntity); //判断是否需要生成/刷新库存预警 - if ((null == msgEntity.getNextRemindTime() || msgEntity.getNextRemindTime().getTime() <= new Date().getTime()) && udiRelevanceEntity.getLowStockNum() > invProductEntity.getReCount()) { + if ((null == msgEntity.getNextRemindTime() || msgEntity.getNextRemindTime().getTime() <= new Date().getTime()) && invRemindSetEntity.getLowStockNum() > invProductEntity.getReCount()) { //设置预警消息 - msgEntity.setMsg(StrUtil.format("库存数量已不足:{},当前库存数量:{} ", udiRelevanceEntity.getLowStockNum(), invProductEntity.getReCount())); + msgEntity.setMsg(StrUtil.format("库存数量已不足:{},当前库存数量:{} ", invRemindSetEntity.getLowStockNum(), invProductEntity.getReCount())); saveMsg(msgEntity); } } else { @@ -119,12 +119,12 @@ public class InvRemindMsgServiceImpl implements InvRemindMsgService { } } - if (invRemindSetEntity.getOverStock() && null != udiRelevanceEntity.getOverStockNum()) { + if (invRemindSetEntity.getOverStock() && null != invRemindSetEntity.getOverStockNum()) { //开启库存积压预警 invRemindMsgRequest.setType("3"); //库存积压预警 InvRemindMsgEntity msgEntity = getInvRemindMsgEntity(invRemindMsgRequest, invProductEntity); //判断是否需要生成/刷新库存预警 - if ((null == msgEntity.getNextRemindTime() || msgEntity.getNextRemindTime().getTime() <= new Date().getTime()) && invProductEntity.getReCount() > udiRelevanceEntity.getOverStockNum()) { + if ((null == msgEntity.getNextRemindTime() || msgEntity.getNextRemindTime().getTime() <= new Date().getTime()) && invProductEntity.getReCount() > invRemindSetEntity.getOverStockNum()) { //设置预警消息 msgEntity.setMsg(StrUtil.format("库存积压,当前库存数量:{}", invProductEntity.getReCount())); saveMsg(msgEntity); @@ -146,14 +146,14 @@ public class InvRemindMsgServiceImpl implements InvRemindMsgService { } } - if (invRemindSetEntity.getRecentDate() && null != udiRelevanceEntity.getRecentDateTime()) { + if (invRemindSetEntity.getRecentDate() && null != invRemindSetEntity.getRecentDateTime()) { //开启库存近效期预警 invRemindMsgRequest.setType("5"); //库存近效期预警 InvRemindMsgEntity msgEntity = getInvRemindMsgEntity(invRemindMsgRequest, invProductEntity); //判断是否需要生成/刷新库存预警 if ((null == msgEntity.getNextRemindTime() || msgEntity.getNextRemindTime().getTime() <= new Date().getTime()) && StrUtil.isNotBlank(invProductEntity.getExpireDate())) { //当前时间 - 近效期预警时间 > 产品失效日期,则进行预警 - DateTime dateTime = cn.hutool.core.date.DateUtil.offsetHour(new Date(), udiRelevanceEntity.getRecentDateTime()); + DateTime dateTime = cn.hutool.core.date.DateUtil.offsetHour(new Date(), invRemindSetEntity.getRecentDateTime()); if (Long.parseLong(dateTime.toString("yyMMdd")) > Long.parseLong(invProductEntity.getExpireDate())) { //设置预警消息 diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvRemindSetServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvRemindSetServiceImpl.java index 89ec1853f..8ab007377 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvRemindSetServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvRemindSetServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.inv.impl; +import com.baomidou.mybatisplus.annotation.TableField; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; @@ -96,6 +97,16 @@ public class InvRemindSetServiceImpl implements InvRemindSetService { invRemindSetEntity.setExpireDate(addInvRemindSetRequest.getExpireDate()); invRemindSetEntity.setRecentDate(addInvRemindSetRequest.getRecentDate()); + if (addInvRemindSetRequest.getIsDateBy() == 1 && null != addInvRemindSetRequest.getRecentDateTime()) { + invRemindSetEntity.setRecentDateTime(addInvRemindSetRequest.getRecentDateTime() * 24); + }else { + invRemindSetEntity.setRecentDateTime(addInvRemindSetRequest.getRecentDateTime()); + } + + invRemindSetEntity.setOverStockNum(addInvRemindSetRequest.getOverStockNum()); + invRemindSetEntity.setLowStockNum(addInvRemindSetRequest.getLowStockNum()); + invRemindSetEntity.setIsDateBy(addInvRemindSetRequest.getIsDateBy()); + //校验预警参数是否符合开启条件 verifySetParams(invRemindSetEntity); setUpdateInfo(invRemindSetEntity); @@ -141,12 +152,19 @@ public class InvRemindSetServiceImpl implements InvRemindSetService { response.setOverStock(invRemindSetEntity.getOverStock()); response.setExpireDate(invRemindSetEntity.getExpireDate()); response.setRecentDate(invRemindSetEntity.getRecentDate()); - } + response.setOverStockNum(invRemindSetEntity.getOverStockNum()); + if (invRemindSetEntity.getIsDateBy() != null && invRemindSetEntity.getIsDateBy() == 1 && null != invRemindSetEntity.getRecentDateTime()) { + //将近效期预警值由小时换算成天 + response.setRecentDateTime(invRemindSetEntity.getRecentDateTime() / 24); + }else { + response.setRecentDateTime(invRemindSetEntity.getRecentDateTime()); + } - if (response.getIsDateBy() == 1 && null != response.getRecentDateTime()) { - //将近效期预警值由小时换算成天 - response.setRecentDateTime(response.getRecentDateTime() / 24); + response.setLowStockNum(invRemindSetEntity.getLowStockNum()); + response.setIsDateBy(invRemindSetEntity.getIsDateBy()); } + + return ResultVOUtils.success(response); } return ResultVOUtils.error(500, "未查询到指定的库存产品信息"); diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index 263950d0a..0d0bcfcfa 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -2116,7 +2116,6 @@ public class HeartService { public void insertProBusinessData(String content){ cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(content); List thrManufacturerEntities = JSONUtil.toList(jsonObject.getJSONArray(ThrManufacturerEntity.class.getSimpleName()), ThrManufacturerEntity.class); - log.error("heiheihieheihi 生产企业信息",thrManufacturerEntities); if (CollectionUtil.isNotEmpty(thrManufacturerEntities)) { for (ThrManufacturerEntity deviceRepairApplyEntity : thrManufacturerEntities) { deviceRepairApplyEntity.setUpdateTime(null); @@ -2606,7 +2605,6 @@ public class HeartService { */ if (needExec(info.getDeviceInfo())) { Map map = basicExportStatusTimeInfo(now, BasicExportStatusTimeEnum.DEVICE_INFO_DATA); - log.error("map libian de shujv {}",map); List deptEntityList = deviceInfoService.list(Wrappers.lambdaQuery(DeviceInfoEntity.class) .le(!ge && (boolean) map.get("isNew"), DeviceInfoEntity::getUpdateTime, now) .between(ge, DeviceInfoEntity::getUpdateTime, syncTime, now) diff --git a/src/main/java/com/glxp/api/service/system/SysMsgTodoService.java b/src/main/java/com/glxp/api/service/system/SysMsgTodoService.java new file mode 100644 index 000000000..471f53375 --- /dev/null +++ b/src/main/java/com/glxp/api/service/system/SysMsgTodoService.java @@ -0,0 +1,16 @@ +package com.glxp.api.service.system; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.glxp.api.entity.system.SysMsgTodoEntity; +import com.glxp.api.req.system.SysMsgTodoQuery; +import com.glxp.api.vo.system.SysMsgTodoVo; + +import java.util.List; + +/** + * 针对表【sys_msg_todo】的数据库操作Service + */ +public interface SysMsgTodoService extends IService { + + List pageOfVo(SysMsgTodoQuery query); +} diff --git a/src/main/java/com/glxp/api/service/system/impl/SysMsgTodoServiceImpl.java b/src/main/java/com/glxp/api/service/system/impl/SysMsgTodoServiceImpl.java new file mode 100644 index 000000000..c77a3f2ee --- /dev/null +++ b/src/main/java/com/glxp/api/service/system/impl/SysMsgTodoServiceImpl.java @@ -0,0 +1,31 @@ +package com.glxp.api.service.system.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.system.SysMsgTodoMapper; +import com.glxp.api.entity.system.SysMsgTodoEntity; +import com.glxp.api.req.system.SysMsgTodoQuery; +import com.glxp.api.service.system.SysMsgTodoService; +import com.glxp.api.vo.system.SysMsgTodoVo; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 针对表【sys_msg_todo】的数据库操作Service实现 + */ +@Service +public class SysMsgTodoServiceImpl extends ServiceImpl + implements SysMsgTodoService { + + @Override + public List pageOfVo(SysMsgTodoQuery query) { + + PageHelper.startPage(query.getPage(), query.getLimit(), true); + return super.baseMapper.pageOfVo(query); + } +} + + + + diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java index 335430562..d47559c74 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrInvOrderServiceImpl.java @@ -55,7 +55,10 @@ import com.glxp.api.util.IntUtil; import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.UdiCalCountUtil; +import io.netty.util.internal.ThrowableUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.exception.ExceptionUtils; +import org.apache.regexp.RE; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -343,7 +346,6 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { log.info("已下载户略"); } - filterInvProductRequest.setStartDate(stringToDate(days + " 13:00:00")); filterInvProductRequest.setEndDate(stringToDate(days + " 23:59:59")); if (thrInvOrderMapper.countDownloadsInRange(filterInvProductRequest.getStartDate(), filterInvProductRequest.getEndDate()) <= 0) { @@ -848,8 +850,6 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { @Override public void scanInvSfOrderGenerateSfOrder() { log.info("扫描处理第三方收费明细生成单据定时任务开始"); -// List list = thrInvOrderDetailMapper.selectSourceTypeList(Constant.THR_INV_SF_ORDER_TYPE); - List thrInvOrders = thrInvOrderMapper.selectList(new LambdaQueryWrapper() .eq(ThrInvOrder::getSourceType, Constant.THR_INV_SF_ORDER_TYPE) .lt(ThrInvOrder::getGenStatus, 3)); @@ -857,111 +857,125 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { if (CollUtil.isNotEmpty(thrInvOrders)) { for (ThrInvOrder thrInvOrder : thrInvOrders) { - List thrInvOrderDetails = thrInvOrderDetailMapper.selectList( - new LambdaQueryWrapper() - .and(o -> o.isNull(ThrInvOrderDetail::getHandleStatus).or().ne(ThrInvOrderDetail::getHandleStatus, 1)). - eq(ThrInvOrderDetail::getOrderIdFk, thrInvOrder.getBillNo()) - ); - if (CollectionUtil.isEmpty(thrInvOrderDetails)) continue; - //通过单号获取单据信息 - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("billNo", thrInvOrder.getBillNo()); - BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType()); - List addThrInvOrderDetails = new ArrayList<>(); - List updateThrInvOrderDetails = new ArrayList<>(); - List delThrInvOrderDetailIds = new ArrayList<>(); - List delThrCodes = new ArrayList<>(); - if (thrInvOrder.getSourceType() == Constant.THR_INV_SF_ORDER_TYPE) {//走组套 - log.info("走组套"); - AtomicInteger fullGen = new AtomicInteger(); - thrInvOrderDetails.forEach(item -> { - Long relId = item.getRelId(); - if (ObjectUtil.isNull(relId)) { - String thrCode = item.getThrCode(); - Integer count = Integer.valueOf(item.getReCount()); - List skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode); - if (CollectionUtil.isNotEmpty(skProjectDetailEntityList) && count > 0) { - delThrInvOrderDetailIds.add(item.getId()); - skProjectDetailEntityList.forEach(sk -> { - ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail(); - BeanUtils.copyProperties(item, thrInvOrderDetail); - thrInvOrderDetail.setId(null); - thrInvOrderDetail.setOrderIdFk(thrInvOrder.getBillNo()); - thrInvOrderDetail.setRelId(sk.getRelId()); - thrInvOrderDetail.setSupId(sk.getSupId() + ""); - thrInvOrderDetail.setHandleStatus(1); - thrInvOrderDetail.setToBillNo(null); - - Integer skCount = sk.getCount(); - if (skCount != null && skCount > 0) { - thrInvOrderDetail.setReCount(String.valueOf(skCount * count)); - } - addThrInvOrderDetails.add(thrInvOrderDetail); - delThrCodes.add(thrCode); - }); - fullGen.getAndIncrement(); - } - } else { - updateThrInvOrderDetails.add(item); - } - }); - if (thrInvOrderDetails.size() == fullGen.intValue()) { - thrInvOrder.setGenStatus(2); - thrInvOrderMapper.updateById(thrInvOrder); - } else if (thrInvOrder.getGenStatus() < 1 && fullGen.intValue() > 0) { - thrInvOrder.setGenStatus(2); + try { + ThrInvOrder temp = thrInvOrderMapper.selectById(thrInvOrder.getId()); + if (temp.getGenStatus() < 3) { + thrInvOrder.setGenStatus(4); thrInvOrderMapper.updateById(thrInvOrder); + } else { + //如果该单据还在生成中则跳过 + continue; } - - } else {//不走组套 - log.info("不走组套"); - String thirdSysFk = thrInvOrder.getThirdSysFk(); - List thrCodes = thrInvOrderDetails.stream().filter(x -> ObjectUtil.isNull(x.getRelId())) - .map(ThrInvOrderDetail::getThrCode).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(thrCodes)) { - MainIdRelIdAndProductResponse map = udiRelevanceService.selectMainIdRelIdAndProductMap(thrCodes, thirdSysFk); - Map mainIdRelIdMap = map.getMainIdRelIdMap(); - + List thrInvOrderDetails = thrInvOrderDetailMapper.selectList( + new LambdaQueryWrapper() + .and(o -> o.isNull(ThrInvOrderDetail::getHandleStatus).or().ne(ThrInvOrderDetail::getHandleStatus, 1)). + eq(ThrInvOrderDetail::getOrderIdFk, thrInvOrder.getBillNo()) + ); + if (CollectionUtil.isEmpty(thrInvOrderDetails)) continue; + //通过单号获取单据信息 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("billNo", thrInvOrder.getBillNo()); + BasicBussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findByAction(thrInvOrder.getBillType()); + List addThrInvOrderDetails = new ArrayList<>(); + List updateThrInvOrderDetails = new ArrayList<>(); + List delThrInvOrderDetailIds = new ArrayList<>(); + List delThrCodes = new ArrayList<>(); + if (thrInvOrder.getSourceType() == Constant.THR_INV_SF_ORDER_TYPE) {//走组套 + log.info("走组套"); + AtomicInteger fullGen = new AtomicInteger(); thrInvOrderDetails.forEach(item -> { - if (ObjectUtil.isNull(item.getRelId())) { + Long relId = item.getRelId(); + if (ObjectUtil.isNull(relId)) { String thrCode = item.getThrCode(); - Long relId = mainIdRelIdMap.get(thrCode).getId(); - if (ObjectUtil.isNotNull(relId)) { - item.setRelId(relId); - item.setHandleStatus(1); - item.setToBillNo(null); - updateThrInvOrderDetails.add(item); - //校验产品是否被供应商关联 - CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId); - if (udiRlSupEntity != null) - item.setSupId(udiRlSupEntity.getCustomerId()); + Integer count = Integer.valueOf(item.getReCount()); + List skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode); + if (CollectionUtil.isNotEmpty(skProjectDetailEntityList) && count > 0) { + delThrInvOrderDetailIds.add(item.getId()); + skProjectDetailEntityList.forEach(sk -> { + ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail(); + BeanUtils.copyProperties(item, thrInvOrderDetail); + thrInvOrderDetail.setId(null); + thrInvOrderDetail.setOrderIdFk(thrInvOrder.getBillNo()); + thrInvOrderDetail.setRelId(sk.getRelId()); + thrInvOrderDetail.setSupId(sk.getSupId() + ""); + thrInvOrderDetail.setHandleStatus(1); + thrInvOrderDetail.setToBillNo(null); + + Integer skCount = sk.getCount(); + if (skCount != null && skCount > 0) { + thrInvOrderDetail.setReCount(String.valueOf(skCount * count)); + } + addThrInvOrderDetails.add(thrInvOrderDetail); + delThrCodes.add(thrCode); + }); + fullGen.getAndIncrement(); } + } else { + updateThrInvOrderDetails.add(item); } }); + if (thrInvOrderDetails.size() == fullGen.intValue()) { + thrInvOrder.setGenStatus(2); + thrInvOrderMapper.updateById(thrInvOrder); + } else if (thrInvOrder.getGenStatus() < 1 && fullGen.intValue() > 0) { + thrInvOrder.setGenStatus(2); + thrInvOrderMapper.updateById(thrInvOrder); + } + + } else {//不走组套 + log.info("不走组套"); + String thirdSysFk = thrInvOrder.getThirdSysFk(); + List thrCodes = thrInvOrderDetails.stream().filter(x -> ObjectUtil.isNull(x.getRelId())) + .map(ThrInvOrderDetail::getThrCode).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(thrCodes)) { + MainIdRelIdAndProductResponse map = udiRelevanceService.selectMainIdRelIdAndProductMap(thrCodes, thirdSysFk); + Map mainIdRelIdMap = map.getMainIdRelIdMap(); + + thrInvOrderDetails.forEach(item -> { + if (ObjectUtil.isNull(item.getRelId())) { + String thrCode = item.getThrCode(); + Long relId = mainIdRelIdMap.get(thrCode).getId(); + if (ObjectUtil.isNotNull(relId)) { + item.setRelId(relId); + item.setHandleStatus(1); + item.setToBillNo(null); + updateThrInvOrderDetails.add(item); + //校验产品是否被供应商关联 + CompanyProductRelevanceEntity udiRlSupEntity = udiRlSupService.selOneByRlId(relId); + if (udiRlSupEntity != null) + item.setSupId(udiRlSupEntity.getCustomerId()); + } + } + }); + } } - } - //删除原来的明细 - if (CollectionUtil.isNotEmpty(delThrInvOrderDetailIds)) { - thrInvOrderDetailMapper.deleteBatchIds(delThrInvOrderDetailIds); - } - //删除原来的明细 - if (CollectionUtil.isNotEmpty(delThrCodes)) { - thrInvOrderDetailMapper.deleteBatchByThrCodeIds(delThrCodes); - } - //新增明细 - if (CollectionUtil.isNotEmpty(addThrInvOrderDetails)) { - thrInvOrderDetailMapper.insertBatch(addThrInvOrderDetails); - genOrder(thrInvOrder, bussinessTypeEntity, addThrInvOrderDetails); - } - //更新明细 - if (CollectionUtil.isNotEmpty(updateThrInvOrderDetails)) { - thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); - genOrder(thrInvOrder, bussinessTypeEntity, updateThrInvOrderDetails); + //删除原来的明细 + if (CollectionUtil.isNotEmpty(delThrInvOrderDetailIds)) { + thrInvOrderDetailMapper.deleteBatchIds(delThrInvOrderDetailIds); + } + //删除原来的明细 + if (CollectionUtil.isNotEmpty(delThrCodes)) { + thrInvOrderDetailMapper.deleteBatchByThrCodeIds(delThrCodes); + } + //新增明细 + if (CollectionUtil.isNotEmpty(addThrInvOrderDetails)) { + thrInvOrderDetailMapper.insertBatch(addThrInvOrderDetails); + genOrder(thrInvOrder, bussinessTypeEntity, addThrInvOrderDetails); + } + //更新明细 + if (CollectionUtil.isNotEmpty(updateThrInvOrderDetails)) { + thrInvOrderDetailMapper.updateBatchById(updateThrInvOrderDetails); + genOrder(thrInvOrder, bussinessTypeEntity, updateThrInvOrderDetails); + } + } catch (Exception e) { + e.printStackTrace(); + log.error("生成单据异常", ExceptionUtils.getStackTrace(e)); + thrInvOrder.setGenStatus(2); + thrInvOrder.setRemark(new Date() + "出现异常"); + thrInvOrderMapper.updateById(thrInvOrder); } - } - } } @@ -1005,7 +1019,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { ioOrderEntity.setThrOrderIdFk(thrInvOrder.getBillNo());//单据号 ioOrderEntity.setUpdateTime(new Date()); if (thrInvOrder.getStartDate() != null) { - ioOrderEntity.setCreateTime(new Date()); + ioOrderEntity.setCreateTime(thrInvOrder.getStartDate()); } ioOrderEntity.setCustomerId("110"); Long userId = 1l; @@ -1031,6 +1045,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { } thrInvOrderDetailMapper.updateBatchById(thrInvOrderDetails); thrInvOrder.setToBillNo(toBillNo); + thrInvOrder.setGenStatus(3); thrInvOrderMapper.updateById(thrInvOrder); ioOrderService.insertOrder(ioOrderEntity); ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz); @@ -1356,7 +1371,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); parameterPackag(basicProductsEntity, ioOrderDetailBizEntity, thrInvOrderDetail); ioOrderDetailBizEntity.setOrderIdFk(newBillNo); - ioOrderDetailBizEntity.setBatchNo("/"); +// ioOrderDetailBizEntity.setBatchNo(); thrInvOrderDetail.setToBillNo(newBillNo); thrInvOrderDetail.setHandleStatus(1); newOrderDetailBiz.add(ioOrderDetailBizEntity); @@ -1519,8 +1534,8 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { List udiRlSupEntitys = udiRlSupService.findByUdiRlId(relId); if (CollUtil.isNotEmpty(udiRlSupEntitys)) { for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntitys) { - Integer count1 = invProductService.selectExitCount("1000000", Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); - if (IntUtil.value(count1 > 0)) { + Integer count1 = invProductService.selectExitCount(thrInvOrder.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); + if (IntUtil.value(count1) > 0) { thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId()); if (udiRlSupEntity.getPrice() == null) thrInvOrderDetail.setPrice(BigDecimal.ZERO); @@ -1582,11 +1597,28 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService { BeanUtils.copyProperties(item, thrInvOrderDetail); thrInvOrderDetail.setOrderIdFk(billNo); thrInvOrderDetail.setRelId(sk.getRelId()); - thrInvOrderDetail.setSupId(sk.getSupId() + ""); - UdiRlSupEntity udiRlSupEntity = udiRlSupService.findByUdiRlIdUnitFk(thrInvOrderDetail.getRelId() + "", thrInvOrderDetail.getSupId()); - if (udiRlSupEntity != null && udiRlSupEntity.getPrice() != null) { - thrInvOrderDetail.setPrice(udiRlSupEntity.getPrice()); - } + List udiRlSupEntitys = udiRlSupService.findByUdiRlId(sk.getRelId()); + if (CollUtil.isNotEmpty(udiRlSupEntitys)) { + for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntitys) { + Integer count1 = invProductService.selectExitCount(thrInvOrder.getInvCode(), Long.parseLong(udiRlSupEntity.getCustomerId()), Long.parseLong(udiRlSupEntity.getUdiRlIdFk())); + if (IntUtil.value(count1) > 0) { + thrInvOrderDetail.setSupId(udiRlSupEntity.getCustomerId()); + if (udiRlSupEntity.getPrice() == null) + thrInvOrderDetail.setPrice(BigDecimal.ZERO); + else + thrInvOrderDetail.setPrice(udiRlSupEntity.getPrice()); + } + } + if (thrInvOrderDetail.getSupId() == null) { + thrInvOrderDetail.setSupId(udiRlSupEntitys.get(0).getCustomerId()); + if (udiRlSupEntitys.get(0).getPrice() == null) + thrInvOrderDetail.setPrice(BigDecimal.ZERO); + else + thrInvOrderDetail.setPrice(udiRlSupEntitys.get(0).getPrice()); + } + + } else + exmsg.append(thrCode + "供应商未关联"); Integer skCount = sk.getCount(); if (skCount != null && skCount > 0) { thrInvOrderDetail.setReCount(String.valueOf(skCount * finalCount)); diff --git a/src/main/java/com/glxp/api/vo/system/SysMsgTodoVo.java b/src/main/java/com/glxp/api/vo/system/SysMsgTodoVo.java new file mode 100644 index 000000000..56d09ee34 --- /dev/null +++ b/src/main/java/com/glxp/api/vo/system/SysMsgTodoVo.java @@ -0,0 +1,37 @@ +package com.glxp.api.vo.system; + +import com.glxp.api.entity.system.SysMsgTodoEntity; +import lombok.Data; + +@Data +public class SysMsgTodoVo extends SysMsgTodoEntity { + + String msgTypeName; + String pushStatusName; + String dealStatusName; + + String invName; + + String deptName; + + public String getMsgTypeName() { + if (super.getMsgType() != null) { + return super.getMsgType().getDesc(); + } + return msgTypeName; + } + + public String getPushStatusName() { + if (super.getPushStatus() != null) { + return super.getPushStatus().getDesc(); + } + return pushStatusName; + } + + public String getDealStatusName() { + if (super.getDealStatus() != null) { + return super.getDealStatus().getDesc(); + } + return dealStatusName; + } +} diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 88b21bb3f..a58c66c3d 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -573,6 +573,7 @@ basic_products.catalogname2, basic_products.catalogname3, basic_products.matrial, + basic_products.requireScanCode, basic_products.prepnSpec, basic_products.levelUnit, basic_products.prepnUnit, @@ -1278,7 +1279,7 @@ updateTime, modifyTime, createUser, updateUser, - remark, useExpireTime, dispatch, payFeeCode, groupBuy, needCert, splitEnable) + remark, useExpireTime, dispatch, groupBuy, needCert, isStack) values (#{id}, #{uuid}, #{mainId}, @@ -1301,7 +1302,7 @@ #{modifyTime}, #{createUser}, #{updateUser}, - #{remark}, #{useExpireTime}, #{dispatch}, #{payFeeCode}, #{groupBuy}, #{needCert}, #{splitEnable}) + #{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert}, #{isStack}) @@ -1466,6 +1467,9 @@ needCert=#{needCert}, + + isStack=#{isStack}, + payFeeCode=#{payFeeCode}, @@ -1494,109 +1498,110 @@ replace - into basic_udirel - (id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable, - isLock, - lockStatus, isAdavence,purType,attributeType,hcType, useMuti, useNum, supName, createTime, updateTime, - modifyTime, - createUser, - updateUser, - remark, useExpireTime, dispatch, groupBuy, needCert,splitEnable) - values + into basic_udirel + (id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable, + isLock, + lockStatus, isAdavence, purType, attributeType, hcType, useMuti, useNum, supName, createTime, + updateTime, + modifyTime, + createUser, + updateUser, + remark, useExpireTime, dispatch, groupBuy, needCert, isStack) + values (#{item.id}, - #{item.uuid}, - #{item.mainId}, - #{item.thirdId}, - #{item.thirdId1}, - #{item.thirdId2}, - #{item.thirdId3}, - #{item.thirdId4}, - #{item.udplatCode}, - #{item.isUseDy}, - #{item.isDisable}, - #{item.isLock}, - #{item.lockStatus}, - #{item.isAdavence},#{item.purType},#{item.attributeType},#{item.hcType}, - #{item.useMuti}, - #{item.useNum}, - #{item.supName}, - #{item.createTime}, - #{item.updateTime}, - #{item.modifyTime}, - #{item.createUser}, - #{item.updateUser}, - #{item.remark}, #{item.useExpireTime}, #{item.dispatch}, #{item.groupBuy}, - #{item.needCert},#{item.splitEnable}) + #{item.uuid}, + #{item.mainId}, + #{item.thirdId}, + #{item.thirdId1}, + #{item.thirdId2}, + #{item.thirdId3}, + #{item.thirdId4}, + #{item.udplatCode}, + #{item.isUseDy}, + #{item.isDisable}, + #{item.isLock}, + #{item.lockStatus}, + #{item.isAdavence}, #{item.purType}, #{item.attributeType}, #{item.hcType}, + #{item.useMuti}, + #{item.useNum}, + #{item.supName}, + #{item.createTime}, + #{item.updateTime}, + #{item.modifyTime}, + #{item.createUser}, + #{item.updateUser}, + #{item.remark}, #{item.useExpireTime}, #{item.dispatch}, #{item.groupBuy}, #{item.needCert}, + #{item.isStack}) select basic_products.cpmctymc from basic_udirel - left join basic_products on basic_udirel.uuid = basic_products.uuid + left join basic_products on basic_udirel.uuid = basic_products.uuid where basic_udirel.id = #{relId} update - basic_udirel + basic_udirel set `relCode` = #{item.relCode} where id = #{item.id} @@ -1647,79 +1652,79 @@ SELECT a2.*, - a1.mainAction, - a1.confirmTime as confirmTime, - a1.auditTime, - bp.prepnSpec, - bp.bzgg, - bp.prepnUnit, - bp.packMatrial, - bp.manufactory, - b1.NAME AS corpName, - (select name from auth_warehouse aw where aw.code = a1.fromInvCode) as fromInvName, - (SELECT NAME FROM basic_bussiness_type bus WHERE bus.action = a1.action) billTypeName + aw.name as fromInvName, + a1.mainAction, + a1.confirmTime, + a1.auditTime, + bu.isStack, + bu.groupBuy, + GROUP_CONCAT(ioi.invoiceEncode ORDER BY ioi.invoiceEncode SEPARATOR ',') AS invoiceCodes, + b1.NAME AS fromCorpName, + basic_bussiness_type.name billTypeName FROM io_order_detail_result a2 - LEFT JOIN io_order a1 ON a1.billNo = a2.orderIdFk - LEFT JOIN basic_corp b1 ON b1.erpId = a1.fromCorp - LEFT JOIN basic_udirel bu ON a2.bindRlFk = bu.id - LEFT JOIN basic_products bp ON bp.uuid = bu.uuid - left join auth_warehouse aw on aw.code = a1.fromInvCode + LEFT JOIN io_order a1 ON a1.billNo = a2.orderIdFk + LEFT JOIN basic_corp b1 ON b1.erpId = a1.fromCorp + LEFT JOIN basic_udirel bu ON a2.bindRlFk = bu.id + left join basic_bussiness_type on a1.action = basic_bussiness_type.action + LEFT JOIN io_order_invoice ioi ON a1.billNo = ioi.orderIdFk + left join auth_warehouse aw on aw.code = a1.fromInvCode a1.status = 7 AND a2.orderIdFk = #{orderIdFk} + + AND bu.groupBuy = #{groupBuy} + AND a1.productType = #{productType} @@ -65,9 +67,15 @@ AND a1.mainAction = #{mainAction} + + AND bu.isStack = #{isStack} + AND a1.invCode = #{invCode} + + AND ioi.invoiceEncode = #{invoiceEncode} + AND a2.spec like concat('%', #{spec}, '%') @@ -108,7 +116,7 @@ - GROUP BY a1.billNo + group by a2.id + select *,aw.name invName,ad.name deptName + from sys_msg_todo smt + left join auth_warehouse aw on aw.code = smt.invCode + left join auth_dept ad on ad.code = smt.deptCode + + + and smt.msgType = #{msgType} + + + and smt.pushStatus = #{pushStatus} + + + and smt.dealStatus = #{dealStatus} + + + and smt.invCode = #{invCode} + + + and smt.deptCode = #{deptCode} + + + order by smt.createTime desc + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 1d661940e..4e67fc5d4 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -3859,6 +3859,39 @@ CALL Pro_Temp_ColumnWork('basic_sk_sicker', 'inHospTime', CALL Pro_Temp_ColumnWork('basic_sk_sicker', 'outHospTime', ' datetime NULL DEFAULT NULL COMMENT ''出院时间''', 1); +CALL Pro_Temp_ColumnWork('basic_udirel', 'isStack', 'tinyint', 1); + + +CALL Pro_Temp_ColumnWork('inv_remind_set', 'lowStockNum', + ' int(0) NULL DEFAULT NULL COMMENT ''低库存预警数量''', + 1); +CALL Pro_Temp_ColumnWork('inv_remind_set', 'overStockNum', + ' int(0) NULL DEFAULT NULL COMMENT ''库存积压预警数量''', + 1); +CALL Pro_Temp_ColumnWork('inv_remind_set', 'recentDateTime', + ' int(0) NULL DEFAULT NULL COMMENT ''近效期预警时间(小时)''', + 1); +CALL Pro_Temp_ColumnWork('inv_remind_set', 'isDateBy', + ' tinyint(0) NULL DEFAULT 1 COMMENT ''时间预警填写类型1天2小时''', + 1); + + +CREATE TABLE IF NOT EXISTS `sys_msg_todo` ( + `id` int NOT NULL AUTO_INCREMENT, + `code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '消息编码', + `msgType` tinyint DEFAULT NULL COMMENT '消息类型(1:入院物资申请;2:单据审核;3:单据发票确认;5.资质审核;6:领用单审核;7:申购单审核;8:采购订单审核;)', + `msgContent` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '消息内容', + `dealStatus` tinyint DEFAULT NULL COMMENT '处理状态', + `pushStatus` tinyint DEFAULT NULL COMMENT '推送小程序状态(1:未推送;2:推送成功;3:推送失败', + `toUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '跳转地址', + `createTime` datetime DEFAULT NULL COMMENT '创建时间', + `updateUser` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', + `updateTime` datetime DEFAULT NULL COMMENT '更新时间', + `deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属仓库', + `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '所属仓库', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE IF NOT EXISTS `sys_workplace` ( diff --git a/src/main/resources/schemas/界面配置.sql b/src/main/resources/schemas/界面配置.sql new file mode 100644 index 000000000..2fe9715ec --- /dev/null +++ b/src/main/resources/schemas/界面配置.sql @@ -0,0 +1,35 @@ + +INSERT INTO `sys_custom_config`(`id`, `businessType`, `remark`, `type`, `handleChangeFuc`) VALUES (116, 'selectInvProduct', '选择库存产品', '1', NULL); + + + +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41871, 116, '2', 1, 'udiCode', 'UDI码', 'input', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'keyup_submit', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41872, 116, '2', 1, 'nameCode', 'DI/物资编码', 'input', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41873, 116, '2', 1, 'cpmctymc', '物资名称', 'input', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41874, 116, '2', 1, 'ggxh', '规格型号', 'input', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41875, 116, '2', 1, 'batchNo', '批次号', 'input', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41876, 116, '2', 1, 'zczbhhzbapzbh', '注册/备案号', 'input', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41877, 116, '2', 1, 'ylqxzcrbarmc', '生产企业', 'input', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41878, 116, '2', 1, 'invCode', '所属仓库', 'selectServer', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, 'getInvList', NULL, NULL, NULL, 'invChange', NULL, NULL, NULL, NULL, '2'); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41879, 116, '2', 1, 'invSpaceCode', '所属货位', 'selectServer', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, 'getSpaceList', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1'); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41880, 116, '2', 1, 'filterNoInv', '过滤方式', 'select', NULL, NULL, '{\"1\":\"有库存\",\"2\":\"零库存\",\"3\":\"负库存\"}', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2'); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41881, 116, '2', 1, 'supId', '供应商名称', 'selectServer', NULL, NULL, '', NULL, NULL, NULL, NULL, NULL, 'findMethod', NULL, NULL, NULL, 'corpChange', NULL, NULL, NULL, NULL, '2'); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41882, 116, '1', 1, 'index', '序号', 'id', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41883, 116, '1', 1, 'supName', '供应商', 'text', NULL, NULL, NULL, 120, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'this.showSup', NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41884, 116, '1', 1, 'spaceName', '货架', 'text', NULL, NULL, NULL, 120, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'this.filterQuery.invSpaceCode!=\'\' && this.filterQuery.invSpaceCode!=null', NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41885, 116, '1', 1, 'nameCode', 'DI/物资编码', 'text', NULL, NULL, NULL, 150, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41886, 116, '1', 1, 'cpmctymc', '物资名称', 'text', NULL, NULL, NULL, 180, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41887, 116, '1', 1, 'ggxh', '规格型号', 'text', NULL, NULL, NULL, 180, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41888, 116, '1', 1, 'batchNo', '批次号', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41889, 116, '1', 1, 'price', '价格', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41890, 116, '1', 1, 'inCount', '入库数量', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41891, 116, '1', 1, 'outCount', '出库数量', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41892, 116, '1', 1, 'reCount', '结余数量', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41893, 116, '1', 1, 'deptName', '部门', 'text', NULL, NULL, NULL, 120, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'this.showSup', NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41894, 116, '1', 1, 'invName', '仓库', 'text', NULL, NULL, NULL, 120, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'this.showSup', NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41895, 116, '1', 1, 'measname', '计量单位', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41896, 116, '1', 1, 'productionDate', '生产日期', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41897, 116, '1', 1, 'expireDate', '失效日期', 'text', NULL, NULL, NULL, 120, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41898, 116, '1', 1, 'ylqxzcrbarmc', '生产企业', 'text', NULL, NULL, NULL, 120, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41899, 116, '1', 1, 'zczbhhzbapzbh', '注册/备案号', 'text', NULL, NULL, NULL, 160, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sys_custom_config_detail`(`id`, `configId`, `type`, `isShow`, `columnName`, `columnDesc`, `columnType`, `colorRule`, `sort`, `lableRule`, `width`, `tooltip`, `buttonRule`, `number`, `lineNumber`, `clickFuc`, `size`, `style`, `disabled`, `checkRules`, `inputType`, `disabledFuc`, `expression`, `dataFuc`, `isShowXx`) VALUES (41900, 116, '1', 1, 'oper', '操作', 'button', '', NULL, '', 180, NULL, '[{\"type\":\"text\",\"size\":\"small\",\"style\":\"\",\"name\":\"添加预警设置\",\"clickFuc\":\"invRemindSet\",\"disabledFuc\":\"\",\"hasPermi\":\"\"},{\"type\":\"text\",\"size\":\"small\",\"style\":\"\",\"name\":\"详情\",\"clickFuc\":\"detailDialog\"}]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);