feat: 药品关联信息上下传输功能

v3
chenhc 6 months ago
parent 7b0769acd6
commit ea28c3f986

@ -1,5 +1,7 @@
package com.glxp.udidl.admin.controller.collect;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.udidl.admin.entity.collect.RelCodeBatch;
import com.glxp.udidl.admin.req.collect.RelCodeBatchRequest;
@ -91,4 +93,10 @@ public class RelCodeBatchController {
return ResultVOUtils.success("清空成功");
}
@GetMapping("/udiwms/relCode/detailByParentCode")
public BaseResponse detailByParentCode(@RequestParam("parentCode") String parentCode) {
if (StrUtil.isBlank(parentCode)) return ResultVOUtils.error(500,"层级编码格式错误!");
return ResultVOUtils.success(relCodeBatchService.detailByParentCode(parentCode));
}
}

@ -112,4 +112,21 @@ public class RelCodeBatch implements Serializable {
@ApiModelProperty(value = "")
private String updateUser;
/**
*
*/
@TableField(value = "parentCode")
@ApiModelProperty(value = "")
private String parentCode;
@TableField(value = "uploadFlagUp")
@ApiModelProperty(value = "")
private Integer uploadFlagUp;
@TableField(value = "uploadFlagDown")
@ApiModelProperty(value = "")
private Integer uploadFlagDown;
}

@ -1,6 +1,8 @@
package com.glxp.udidl.admin.req.collect;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.udidl.admin.req.ListPageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@ -81,4 +83,13 @@ public class RelCodeBatchRequest extends ListPageRequest {
private String code;
private String startDate;
private String endDate;
/**
*
*/
@TableField(value = "parentCode")
@ApiModelProperty(value = "")
private String parentCode;
}

@ -0,0 +1,125 @@
package com.glxp.udidl.admin.res.collect;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.glxp.udidl.admin.entity.collect.RelCodeDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class RelCodeDetailByParentCodeResponse {
@TableId(value = "id", type = IdType.AUTO)
@ApiModelProperty(value="")
private Integer id;
/**
*
*/
@TableField(value = "productCode")
@ApiModelProperty(value="产品编码")
private String productCode;
/**
*
*/
@TableField(value = "subTypeNo")
@ApiModelProperty(value="类型编码")
private String subTypeNo;
/**
*
*/
@TableField(value = "cascadeRatio")
@ApiModelProperty(value="包装比例")
private String cascadeRatio;
/**
*
*/
@TableField(value = "packageSpec")
@ApiModelProperty(value="包装规格")
private String packageSpec;
/**
*
*/
@TableField(value = "comment")
@ApiModelProperty(value="备注")
private String comment;
/**
*
*/
@TableField(value = "batchNo")
@ApiModelProperty(value="批次号")
private String batchNo;
/**
*
*/
@TableField(value = "madeDate")
@ApiModelProperty(value="生产日期")
private String madeDate;
/**
*
*/
@TableField(value = "validateDate")
@ApiModelProperty(value="有效期至")
private String validateDate;
/**
*
*/
@TableField(value = "workShop")
@ApiModelProperty(value="生产车间")
private String workShop;
/**
* 线
*/
@TableField(value = "lineName")
@ApiModelProperty(value="生产线")
private String lineName;
/**
*
*/
@TableField(value = "lineManager")
@ApiModelProperty(value="负责人")
private String lineManager;
@TableField(value = "createTime")
@ApiModelProperty(value = "")
private Date createTime;
@TableField(value = "`createUser`")
@ApiModelProperty(value = "")
private String createUser;
@TableField(value = "updateTime")
@ApiModelProperty(value = "")
private Date updateTime;
@TableField(value = "updateUser")
@ApiModelProperty(value = "")
private String updateUser;
/**
*
*/
@TableField(value = "parentCode")
@ApiModelProperty(value = "")
private String parentCode;
private List<RelCodeDetail> relCodeDetail;
private List<RelCodeDetailByParentCodeResponse> RelCodeDetailSons;
}

@ -17,6 +17,7 @@ import com.glxp.udidl.admin.req.collect.RelCodeBatchRequest;
import com.glxp.udidl.admin.req.collect.RelCodeDetailRequest;
import com.glxp.udidl.admin.res.collect.RelCodeBatchResponse;
//import com.glxp.udidl.admin.service.auth.CustomerService;
import com.glxp.udidl.admin.res.collect.RelCodeDetailByParentCodeResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -147,14 +148,16 @@ public class RelCodeBatchService extends ServiceImpl<RelCodeBatchMapper, RelCode
String productCode = relCodeBatchRequest.getProductCode();
String subTypeNo = relCodeBatchRequest.getSubTypeNo();
String batchNo = relCodeBatchRequest.getBatchNo();
String parentCode1 = relCodeBatchRequest.getParentCode();
//如果不存在就添加
List<RelCodeBatch> list = this.list(new LambdaQueryWrapper<RelCodeBatch>()
.eq(RelCodeBatch::getProductCode, productCode)
.eq(StrUtil.isNotBlank(subTypeNo),RelCodeBatch::getSubTypeNo, subTypeNo)
.eq(RelCodeBatch::getBatchNo, batchNo))
.eq(RelCodeBatch::getBatchNo, batchNo)
.eq(RelCodeBatch::getParentCode, parentCode1))
;
if (CollUtil.isNotEmpty(list)){
throw new JsonException( "层级编码:【"+productCode + "】;类型编码:【" + subTypeNo + "】;批次号:【"+batchNo + "】已存在!");
throw new JsonException( "层级编码:【"+parentCode1 + "】;层级标识:【"+productCode + "】;批次号:【"+batchNo + "】已存在!");
}
List<RelCodeDetailRequest> detailList = relCodeBatchRequest.getDetailList();
if(CollUtil.isEmpty(detailList)){
@ -228,4 +231,32 @@ public class RelCodeBatchService extends ServiceImpl<RelCodeBatchMapper, RelCode
});
}
}
public List<RelCodeDetailByParentCodeResponse> detailByParentCode(String parentCode) {
List<RelCodeDetailByParentCodeResponse> respList = new ArrayList<>();
List<RelCodeBatch> list = this.list(new LambdaQueryWrapper<RelCodeBatch>().eq(RelCodeBatch::getParentCode, parentCode));
if (CollUtil.isEmpty(list)) return respList;
for (int i = 0; i < list.size(); i++) {
RelCodeBatch relCodeBatch = list.get(i);
RelCodeDetailByParentCodeResponse relCodeDetailByParentCodeResponse = new RelCodeDetailByParentCodeResponse();
List<RelCodeDetail> relCodeDetails = relCodeDetailService.list(new LambdaQueryWrapper<RelCodeDetail>().eq(RelCodeDetail::getParentCode, parentCode));
BeanUtils.copyProperties(relCodeBatch,relCodeDetailByParentCodeResponse);
relCodeDetailByParentCodeResponse.setRelCodeDetail(relCodeDetails);
if (CollUtil.isNotEmpty(relCodeDetails)){
RelCodeDetail relCodeDetail = relCodeDetails.get(0);
if (relCodeDetail.getPackLayer() > 1){//说明有下级
List<RelCodeDetailByParentCodeResponse> sons = new ArrayList<>();
relCodeDetails.forEach( item -> {
List<RelCodeDetailByParentCodeResponse> relCodeDetailByParentCodeResponses = this.detailByParentCode(item.getCurCode());
sons.addAll(relCodeDetailByParentCodeResponses);
});
relCodeDetailByParentCodeResponse.setRelCodeDetailSons(sons);
}
}
respList.add(relCodeDetailByParentCodeResponse);
}
return respList;
}
}

Loading…
Cancel
Save