diff --git a/src/main/java/com/glxp/api/controller/stat/IoStatSetController.java b/src/main/java/com/glxp/api/controller/stat/IoStatSetController.java index 4eacdd7..ebfd9ad 100644 --- a/src/main/java/com/glxp/api/controller/stat/IoStatSetController.java +++ b/src/main/java/com/glxp/api/controller/stat/IoStatSetController.java @@ -21,6 +21,7 @@ import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.stat.AnncmntManuService; import com.glxp.api.service.stat.IoStatSetService; import com.glxp.api.util.BeanCopyUtils; +import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.validation.BindingResult; @@ -28,6 +29,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.Date; import java.util.List; @@ -46,6 +48,9 @@ public class IoStatSetController extends BaseController { private final IoStatSetService ioStatSetService; + @Resource + GennerOrderUtils gennerOrderUtils; + @GetMapping("/list") public BaseResponse list(IoStatSetEntityRequest request, BindingResult bindingResult) { @@ -71,13 +76,14 @@ public class IoStatSetController extends BaseController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + entity.setCode(gennerOrderUtils.getSetNo()); entity.setCreateTime(new Date()); entity.setUpdateTime(new Date()); boolean b = ioStatSetService.save(entity); if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } - return ResultVOUtils.success("添加成功!"); + return ResultVOUtils.success(entity); } @AuthRuleAnnotation("") diff --git a/src/main/java/com/glxp/api/controller/stat/IoStatSetDetailEntityController.java b/src/main/java/com/glxp/api/controller/stat/IoStatSetDetailEntityController.java index 5563d26..647e935 100644 --- a/src/main/java/com/glxp/api/controller/stat/IoStatSetDetailEntityController.java +++ b/src/main/java/com/glxp/api/controller/stat/IoStatSetDetailEntityController.java @@ -1,9 +1,13 @@ package com.glxp.api.controller.stat; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.beust.jcommander.internal.Lists; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; import com.glxp.api.common.enums.ResultEnum; @@ -11,18 +15,23 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.controller.BaseController; +import com.glxp.api.entity.basic.BasicUdiProductEntity; +import com.glxp.api.entity.basic.ProductInfoEntity; +import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.stat.IoStatOrderEntity; import com.glxp.api.entity.stat.IoStatSetDetailEntity; import com.glxp.api.entity.stat.IoStatSetEntity; -import com.glxp.api.req.stat.IoStatOrderEntityRequest; -import com.glxp.api.req.stat.IoStatSetDetailEntityRequest; -import com.glxp.api.req.stat.IoStatSetEntityRequest; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.stat.*; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.service.basic.BasicUdiProductService; import com.glxp.api.service.stat.IoStatSetDetailService; import com.glxp.api.service.stat.IoStatSetService; import com.glxp.api.util.BeanCopyUtils; import com.glxp.api.util.StringUtils; +import com.glxp.api.util.udi.FilterUdiUtils; +import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; @@ -44,7 +53,10 @@ import java.util.List; @RequestMapping("/stat/setDetail") public class IoStatSetDetailEntityController extends BaseController { - private final IoStatSetDetailService ioStatSetDetailService; + private final IoStatSetDetailService ioStatSetDetailService; + + + private final BasicUdiProductService basicUdiProductService; @GetMapping("/list") @@ -65,19 +77,72 @@ public class IoStatSetDetailEntityController extends BaseController { @AuthRuleAnnotation("") @PostMapping("/save") @Log(title = "器械公告管理", businessType = BusinessType.INSERT) - public BaseResponse save(@RequestBody IoStatSetDetailEntity entity, + public BaseResponse save(@RequestBody IoStatSetDetailEntitySaveRequest entity, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - boolean b = ioStatSetDetailService.save(entity); + List list = Lists.newArrayList(); + List detailList = entity.getProducts(); + if(CollectionUtil.isNotEmpty(detailList)){ + detailList.stream().forEach(s->{ + IoStatSetDetailEntity ioStatSetDetailEntity = new IoStatSetDetailEntity(); + ioStatSetDetailEntity.setSetFk(entity.getSetFk()); + ioStatSetDetailEntity.setCpmctymc(s.getCpmctymc()); + ioStatSetDetailEntity.setGgxh(s.getGgxh()); + list.add(ioStatSetDetailEntity); + }); + } + boolean b = ioStatSetDetailService.saveBatch(list); if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } return ResultVOUtils.success("添加成功!"); } + //获取同步库UDI信息 + @ApiOperation(value = "获取同步库UDI信息", response = BasicUdiProductEntity.class) + @AuthRuleAnnotation("") + @ApiIgnore + @GetMapping("getUdiProduct") + public BaseResponse filterDict(FilterUdiRelRequest filterUdiRelRequest) { + String nameCode; + if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); + if (udiEntity != null) { + nameCode = udiEntity.getUdi(); + } else { + return ResultVOUtils.error(500, "无效UDI码!"); + } + } else + nameCode = filterUdiRelRequest.getNameCode(); + if (StrUtil.isNotEmpty(nameCode)) { + filterUdiRelRequest.setNameCode(nameCode); + } else { + filterUdiRelRequest.setDiType(1); + } + List udiDlDeviceResponse = basicUdiProductService.filterList(filterUdiRelRequest); + if (CollectionUtil.isNotEmpty(udiDlDeviceResponse)) { + for (BasicUdiProductEntity basicUdiProductEntity : udiDlDeviceResponse) { + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("setFk",filterUdiRelRequest.getSetFk()); + queryWrapper.eq("cpmctymc",basicUdiProductEntity.getCpmctymc()); + queryWrapper.eq("ggxh",basicUdiProductEntity.getGgxh()); + List tempList = ioStatSetDetailService.list(queryWrapper); + if (CollectionUtil.isNotEmpty(tempList)) { + basicUdiProductEntity.setCheck(true); + } else + basicUdiProductEntity.setCheck(false); + } + } + PageInfo basicUdiRelResponsePageInfo = new PageInfo<>(udiDlDeviceResponse); + PageSimpleResponse basicUdiRelResponsePageSimpleResponse = new PageSimpleResponse<>(); + basicUdiRelResponsePageSimpleResponse.setTotal(basicUdiRelResponsePageInfo.getTotal()); + basicUdiRelResponsePageSimpleResponse.setList(udiDlDeviceResponse); + return ResultVOUtils.success(basicUdiRelResponsePageSimpleResponse); + } + @AuthRuleAnnotation("") @PostMapping("/edit") @Log(title = "器械公告管理", businessType = BusinessType.UPDATE) diff --git a/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java index 4bb6e1f..f5e4025 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicUdiProductEntity.java @@ -406,5 +406,11 @@ public class BasicUdiProductEntity implements Serializable { @TableField(value = "purchaseType") private Integer purchaseType; + + //自定义字典 + @TableField(exist = false) + private boolean check; + + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/entity/stat/IoStatSetDetailEntity.java b/src/main/java/com/glxp/api/entity/stat/IoStatSetDetailEntity.java index 332e660..f838f9a 100644 --- a/src/main/java/com/glxp/api/entity/stat/IoStatSetDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/stat/IoStatSetDetailEntity.java @@ -22,6 +22,13 @@ public class IoStatSetDetailEntity implements Serializable { @TableId(value = "id", type = IdType.INPUT) private Integer id; + + /** + * 设置关联ID + */ + @TableField(value = "setFk") + private Integer setFk; + /** * 品种名称 */ diff --git a/src/main/java/com/glxp/api/entity/stat/IoStatSetEntity.java b/src/main/java/com/glxp/api/entity/stat/IoStatSetEntity.java index 8d13bd8..c00cc06 100644 --- a/src/main/java/com/glxp/api/entity/stat/IoStatSetEntity.java +++ b/src/main/java/com/glxp/api/entity/stat/IoStatSetEntity.java @@ -23,7 +23,7 @@ public class IoStatSetEntity implements Serializable { /** * 上报频率 */ - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.AUTO) private Integer id; /** 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 3f02645..8d0acdc 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiRelRequest.java @@ -123,7 +123,8 @@ public class FilterUdiRelRequest extends ListPageRequest { private String placeArea; private Integer auditStatus; - + @ApiModelProperty(value = "汇总设置id") + private Integer setFk; private Integer type; diff --git a/src/main/java/com/glxp/api/req/stat/IoStatSetDetailEntitySaveRequest.java b/src/main/java/com/glxp/api/req/stat/IoStatSetDetailEntitySaveRequest.java new file mode 100644 index 0000000..a2186f5 --- /dev/null +++ b/src/main/java/com/glxp/api/req/stat/IoStatSetDetailEntitySaveRequest.java @@ -0,0 +1,13 @@ +package com.glxp.api.req.stat; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class IoStatSetDetailEntitySaveRequest { + private Integer setFk; + + List products; +} diff --git a/src/main/java/com/glxp/api/req/stat/IoStatSetDetailProductRequest.java b/src/main/java/com/glxp/api/req/stat/IoStatSetDetailProductRequest.java new file mode 100644 index 0000000..22af7d7 --- /dev/null +++ b/src/main/java/com/glxp/api/req/stat/IoStatSetDetailProductRequest.java @@ -0,0 +1,10 @@ +package com.glxp.api.req.stat; + +import lombok.Data; + +@Data +public class IoStatSetDetailProductRequest { + private String cpmctymc; + + private String ggxh; +} diff --git a/src/main/java/com/glxp/api/util/GennerOrderUtils.java b/src/main/java/com/glxp/api/util/GennerOrderUtils.java index 85f9504..6cbdd57 100644 --- a/src/main/java/com/glxp/api/util/GennerOrderUtils.java +++ b/src/main/java/com/glxp/api/util/GennerOrderUtils.java @@ -120,6 +120,16 @@ public class GennerOrderUtils { return orderNo; } + /** + * 获取设置code + * + * @return + */ + public String getSetNo() { + String orderNo = createRecordOrderNo(new OrderNoTypeBean("SET", "yyyyMMdd")); + return orderNo; + } + /** * @param orderNoTypeEnum: * @Description 基于redis生成单号(时间格式 + 自增数)