2024-08-21 计划-生产工单管理-产品标识卡

master
A0010407 6 months ago
parent 521f1de96f
commit 99c3e0e3e7

@ -314,4 +314,10 @@ public class ProOrderWorkorderController extends BaseController {
public List<ProOrderWorkorder> getIdCardList(@RequestBody ProOrderWorkorder proOrderWorkorder) { public List<ProOrderWorkorder> getIdCardList(@RequestBody ProOrderWorkorder proOrderWorkorder) {
return proOrderWorkorderService.getIdCardList(proOrderWorkorder); return proOrderWorkorderService.getIdCardList(proOrderWorkorder);
} }
//获取批次号
@GetMapping("/getBatchCode/{workorderId}")
public List<ProOrderWorkorder> getBatchCode(@PathVariable("workorderId") String workorderId) {
return proOrderWorkorderService.getBatchCode(workorderId);
}
} }

@ -339,6 +339,8 @@ public class ProOrderWorkorder extends TreeEntity {
private String palletCode; private String palletCode;
private String recordId; private String recordId;
private String addFlag;
public String getRecordId() { public String getRecordId() {
return recordId; return recordId;
} }
@ -787,6 +789,13 @@ public class ProOrderWorkorder extends TreeEntity {
this.sortNo = sortNo; this.sortNo = sortNo;
} }
public void setAddFlag(String addFlag) {
this.addFlag = addFlag;
}
public String getAddFlag() {
return addFlag;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

@ -237,5 +237,12 @@ public interface ProOrderWorkorderMapper {
List<ProOrderWorkorder> getPreIdCardList(ProOrderWorkorder proOrderWorkorder); List<ProOrderWorkorder> getPreIdCardList(ProOrderWorkorder proOrderWorkorder);
int addBatchPallet(@Param("list")List<ProOrderWorkorder> dtos); int addBatchPallet(@Param("list")List<ProOrderWorkorder> dtos);
Integer selectPalletByUniqueBarCode(ProOrderWorkorder pw);
//void addOnePallet(ProOrderWorkorder pw);//新增一个标识卡
void updateOnePallet(ProOrderWorkorder pw);//更新一个标识卡
List<ProOrderWorkorder> getBatchCode(String workorderId);//获取批次号下拉框
} }

@ -151,4 +151,6 @@ public interface IProOrderWorkorderService {
List<ProLine> getProdLineList(); List<ProLine> getProdLineList();
List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder); List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder);
List<ProOrderWorkorder> getBatchCode(String workorderId);//获取批次号
} }

@ -1259,13 +1259,18 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
return proOrderWorkorderBatchMapper.getProdLineList(); return proOrderWorkorderBatchMapper.getProdLineList();
} }
@Override
@DS("#header.poolName")
public List<ProOrderWorkorder> getBatchCode(String workorderId) {
return proOrderWorkorderMapper.getBatchCode(workorderId);
}
@Override @Override
@DS("#header.poolName") @DS("#header.poolName")
public List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder) { public List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder) {
List<ProOrderWorkorder> dtos = new ArrayList<>(); List<ProOrderWorkorder> dtos = new ArrayList<>();
List<ProOrderWorkorder> dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); List<ProOrderWorkorder> dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() == null && proOrderWorkorder.getAddFlag().equals("0")){//说明没生成过标识卡 增打标志0
if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() == null){//说明没生成过标识卡
ProOrderWorkorder pw = null; ProOrderWorkorder pw = null;
int i = 1; int i = 1;
Date nowDate = DateUtils.getNowDate(); Date nowDate = DateUtils.getNowDate();
@ -1288,8 +1293,10 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
pw.setBatchQuantity(pn); pw.setBatchQuantity(pn);
} }
pw.setPalletNo(i++); pw.setPalletNo(i++);
pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo()); pw.setPalletCode(pow.getWorkorderCode() + "-" + pow.getBatchCode() + "-" + pw.getPalletNo());//workorderCode 实际上是订单号
pw.setCreateTime(nowDate); pw.setCreateTime(nowDate);
pw.setCreateBy(SecurityUtils.getUsername());
pw.setAddFlag("0");//增打标志
dtos.add(pw); dtos.add(pw);
pall = pall.subtract(pn); pall = pall.subtract(pn);
} }
@ -1298,10 +1305,47 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
if(!CollectionUtils.isEmpty(dtos)){ if(!CollectionUtils.isEmpty(dtos)){
proOrderWorkorderMapper.addBatchPallet(dtos); proOrderWorkorderMapper.addBatchPallet(dtos);
} }
}else{ }else if(proOrderWorkorder.getAddFlag().equals("1")){
dtos.addAll(dtos0); //增打 增打过来的会有批次号、批次数量、板次 增打标志1 根据唯一二维码去判断是不是生成过标识卡 有增打标志
Integer palletNo = proOrderWorkorder.getPalletNo();//板次
proOrderWorkorder.setPalletNo(null);//板次置空 去查询 获取产品等信息
List<ProOrderWorkorder> dtos1 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
ProOrderWorkorder pow = dtos1.get(0);
proOrderWorkorder.setPalletNo(palletNo);
String uniqueBarCode = pow.getWorkorderCode() + "-" + proOrderWorkorder.getBatchCode() + "-" + palletNo;//订单号+批次+板次 唯一二维码标识
ProOrderWorkorder pw = new ProOrderWorkorder();
pw.setProductName(pow.getProductName());//产品名
pw.setWorkorderCode(pow.getWorkorderCode());//工单号 实际是订单号
pw.setBatchCode(proOrderWorkorder.getBatchCode());//批次号
pw.setProductDateStr(pow.getProductDateStr());//生产日期
pw.setRecordId(IdUtils.fastSimpleUUID());//记录
pw.setBatchQuantity(proOrderWorkorder.getBatchQuantity());//批次数量
pw.setPalletNo(palletNo);//板次
pw.setPalletCode(uniqueBarCode);//唯一二维码
pw.setUpdateTime(DateUtils.getNowDate());
pw.setUpdateBy(SecurityUtils.getUsername());
pw.setCreateTime(DateUtils.getNowDate());
pw.setCreateBy(SecurityUtils.getUsername());
pw.setAddFlag("0");
Integer supplementMsg = proOrderWorkorderMapper.selectPalletByUniqueBarCode(pw);//补打标志
pw.setAddFlag("1");
Integer addMsg = proOrderWorkorderMapper.selectPalletByUniqueBarCode(pw);//增打标志
List<ProOrderWorkorder> dto = new ArrayList<>();
if(supplementMsg == 0 && addMsg == 0){//没有正常生成、补打过 没有增打过
dto.add(pw);
proOrderWorkorderMapper.addBatchPallet(dto);
}else if(supplementMsg == 0 && addMsg >= 1){//没有正常生成过、补打过 增打过
proOrderWorkorderMapper.updateOnePallet(pw);
}else if(supplementMsg >= 1){//补打过、正常打过 没有增打过
return dto;
} }
dtos.add(pw);
}else if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() != null && proOrderWorkorder.getAddFlag().equals("0")){
dtos.addAll(dtos0);
}
return dtos; return dtos;
} }

@ -819,15 +819,40 @@
) )
</foreach> </foreach>
</insert> </insert>
<update id="updateOnePallet" parameterType="ProOrderWorkorder">
update pro_order_workorder_batch_pallet
<trim prefix="SET" suffixOverrides=",">
<if test="batchQuantity != null and batchQuantity != ''">quantity = #{batchQuantity},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null">factory_code = #{factoryCode},</if>
</trim>
where pallet_code = #{palletCode}
</update>
<select id="selectPalletByUniqueBarCode" resultType="java.lang.Integer" parameterType="ProOrderWorkorder">
select count(pallet_code)
FROM pro_order_workorder_batch_pallet
WHERE pallet_code = #{palletCode}
and add_flag = #{addFlag}
and del_flag = '0'
</select>
<select id="getBatchCode" resultType="ProOrderWorkorder" parameterType="java.lang.String">
select powb.batch_code batchCode
from pro_order_workorder pow
left join pro_order_workorder_batch powb on pow.workorder_id = powb.workorder_id
where powb.del_flag = '0'
and pow.del_flag = '0'
and pow.workorder_id = #{workorderId}
</select>
<insert id="addBatchPallet"> <insert id="addBatchPallet">
INSERT INTO pro_order_workorder_batch_pallet ( INSERT INTO pro_order_workorder_batch_pallet (
id,workorder_code,batch_code,quantity,pallet_num, id,workorder_code,batch_code,quantity,pallet_num,create_by,
create_time,pallet_code create_time,pallet_code,add_flag
)VALUES )VALUES
<foreach collection="list" item="d" index="index" separator=","> <foreach collection="list" item="d" index="index" separator=",">
( (
#{d.recordId},#{d.workorderCode},#{d.batchCode},#{d.batchQuantity},#{d.palletNo}, #{d.recordId},#{d.workorderCode},#{d.batchCode},#{d.batchQuantity},#{d.palletNo},
#{d.createTime},#{d.palletCode} #{d.createBy},#{d.createTime},#{d.palletCode},#{d.addFlag}
) )
</foreach> </foreach>
</insert> </insert>

Loading…
Cancel
Save