质量看板和报表、标识卡打印补打功能

master
zhaoxiaolin 11 months ago
parent b2dbca3bfb
commit 42e1dd8150

@ -308,4 +308,10 @@ public class ProOrderWorkorderController extends BaseController {
public List<ProLine> getProdLineList() { public List<ProLine> getProdLineList() {
return proOrderWorkorderService.getProdLineList(); return proOrderWorkorderService.getProdLineList();
} }
/**获取标识卡**/
@PostMapping("/getIdCardList")
public List<ProOrderWorkorder> getIdCardList(@RequestBody ProOrderWorkorder proOrderWorkorder) {
return proOrderWorkorderService.getIdCardList(proOrderWorkorder);
}
} }

@ -331,6 +331,69 @@ public class ProOrderWorkorder extends TreeEntity {
private String factoryCode; private String factoryCode;
private Boolean hasChildren; private Boolean hasChildren;
private List<String> idCards;
private String batchCode;
private BigDecimal batchQuantity;
private BigDecimal palletNum;
private Integer palletNo;
private String palletCode;
private String recordId;
public String getRecordId() {
return recordId;
}
public void setRecordId(String recordId) {
this.recordId = recordId;
}
public String getPalletCode() {
return palletCode;
}
public void setPalletCode(String palletCode) {
this.palletCode = palletCode;
}
public Integer getPalletNo() {
return palletNo;
}
public void setPalletNo(Integer palletNo) {
this.palletNo = palletNo;
}
public BigDecimal getPalletNum() {
return palletNum;
}
public void setPalletNum(BigDecimal palletNum) {
this.palletNum = palletNum;
}
public BigDecimal getBatchQuantity() {
return batchQuantity;
}
public void setBatchQuantity(BigDecimal batchQuantity) {
this.batchQuantity = batchQuantity;
}
public String getBatchCode() {
return batchCode;
}
public void setBatchCode(String batchCode) {
this.batchCode = batchCode;
}
public List<String> getIdCards() {
return idCards;
}
public void setIdCards(List<String> idCards) {
this.idCards = idCards;
}
public String getSapCode() { public String getSapCode() {
return sapCode; return sapCode;

@ -233,5 +233,9 @@ public interface ProOrderWorkorderMapper {
List<ProOrderWorkorder> selectChildWorkOrderCG(String workorderCode); List<ProOrderWorkorder> selectChildWorkOrderCG(String workorderCode);
List<String> getBatchDict(String batchFlag); List<String> getBatchDict(String batchFlag);
List<ProOrderWorkorder> getPreIdCardList(ProOrderWorkorder proOrderWorkorder);
int addBatchPallet(@Param("list")List<ProOrderWorkorder> dtos);
} }

@ -149,4 +149,6 @@ public interface IProOrderWorkorderService {
int deleteWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch); int deleteWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch);
List<ProLine> getProdLineList(); List<ProLine> getProdLineList();
List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder);
} }

@ -1259,6 +1259,59 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
return proOrderWorkorderBatchMapper.getProdLineList(); return proOrderWorkorderBatchMapper.getProdLineList();
} }
@Override
@DS("#header.poolName")
public List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder) {
List<ProOrderWorkorder> dtos = new ArrayList<>();
List<ProOrderWorkorder> dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
if(!CollectionUtils.isEmpty(dtos0) && dtos0.get(0).getPalletNo() == null){//说明没生成过标识卡
ProOrderWorkorder pw = null;
int i = 1;
Date nowDate = DateUtils.getNowDate();
for(ProOrderWorkorder pow:dtos0){
if(pow.getPalletNum()!=null){
BigDecimal pall = pow.getBatchQuantity();
BigDecimal pn = pow.getPalletNum();
while(pall.subtract(pn).compareTo(BigDecimal.ZERO)>0){
pw = new ProOrderWorkorder();
pw.setProductName(pow.getProductName());
pw.setWorkorderCode(pow.getWorkorderCode());
pw.setBatchCode(pow.getBatchCode());
pw.setProductDateStr(pow.getProductDateStr());
pw.setRecordId(IdUtils.fastSimpleUUID());
pw.setBatchQuantity(pn);
pw.setPalletNo(i++);
pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo());
pw.setCreateTime(nowDate);
dtos.add(pw);
pall = pall.subtract(pn);
}
if(pall.compareTo(pn)<0){//最后一托盘
pw = new ProOrderWorkorder();
pw.setProductName(pow.getProductName());
pw.setWorkorderCode(pow.getWorkorderCode());
pw.setBatchCode(pow.getBatchCode());
pw.setProductDateStr(pow.getProductDateStr());
pw.setRecordId(IdUtils.fastSimpleUUID());
pw.setBatchQuantity(pall);
pw.setPalletNo(i++);
pw.setPalletCode(pow.getPalletCode()+"-"+pw.getPalletNo());
pw.setCreateTime(nowDate);
dtos.add(pw);
}
}
}
proOrderWorkorderMapper.addBatchPallet(dtos);
}else{
dtos.addAll(dtos0);
}
return dtos;
}
/** /**
* *

@ -680,6 +680,24 @@
<select id="getBatchDict" resultType="java.lang.String"> <select id="getBatchDict" resultType="java.lang.String">
select dict_value from base_dict_data where dict_type = #{batchFlag} order by dict_value select dict_value from base_dict_data where dict_type = #{batchFlag} order by dict_value
</select> </select>
<select id="getPreIdCardList" resultType="com.op.plan.domain.ProOrderWorkorder">
select pow.product_name productName,
pow.product_date productDateStr,
pow.workorder_code_sap workorderCode,
powb.batch_code batchCode,
powb.batch_quantity batchQuantity,
bpa.pallet_num palletNum,
concat(pow.workorder_code_sap,'-', powb.batch_code) palletCode,
powbp.pallet_num palletNo
from pro_order_workorder pow
left join pro_order_workorder_batch powb on pow.workorder_id = powb.workorder_id
left join base_product_attached bpa on concat('0000000',bpa.product_code) = pow.product_code
left join pro_order_workorder_batch_pallet powbp on powbp.workorder_code = pow.workorder_code_sap
and powbp.batch_code = powb.batch_code
where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powb.del_flag = '0'
<if test="palletNo != null">and powbp.pallet_num = #{palletNo}</if>
order by powbp.pallet_num
</select>
<insert id="createPrepareDetails"> <insert id="createPrepareDetails">
insert into mes_prepare_detail insert into mes_prepare_detail
@ -800,6 +818,18 @@
) )
</foreach> </foreach>
</insert> </insert>
<insert id="addBatchPallet">
INSERT INTO pro_order_workorder_batch_pallet (
id,workorder_code,batch_code,quantity,pallet_num,
create_time,pallet_code
)VALUES
<foreach collection="list" item="d" index="index" separator=",">
(
#{d.recordId},#{d.workorderCode},#{d.batchCode},#{d.batchQuantity},#{d.palletNo},
#{d.createTime},#{d.palletCode}
)
</foreach>
</insert>
<update id="updateProOrderWorkorder" parameterType="ProOrderWorkorder"> <update id="updateProOrderWorkorder" parameterType="ProOrderWorkorder">
update pro_order_workorder update pro_order_workorder

@ -279,38 +279,6 @@ public class QcInterfaceServiceImpl implements IQcInterfaceService {
String nowYMD = DateUtils.getDate(); String nowYMD = DateUtils.getDate();
qcInterface.setYmd(nowYMD); qcInterface.setYmd(nowYMD);
List<QcInterface> dtos = qcInterfaceMapper.getProduceNoOkList(qcInterface); List<QcInterface> dtos = qcInterfaceMapper.getProduceNoOkList(qcInterface);
/**质量看板测试开始**/
QcInterface q0 = new QcInterface();
q0.setProjectName("产品外观");
q0.setCheckManName("马娥章");
q0.setCheckTime("2024-08-06 15:01:00");
dtos.add(q0);
QcInterface q1 = new QcInterface();
q1.setProjectName("厚度(一盘)");
q1.setCheckManName("马娥章");
q1.setCheckTime("2024-08-06 14:35:00");
dtos.add(q1);
QcInterface q2 = new QcInterface();
q2.setProjectName("其它不良现象");
q2.setCheckManName("马娥章");
q2.setCheckTime("2024-08-06 15:05:00");
dtos.add(q2);
QcInterface q3 = new QcInterface();
q3.setProjectName("灌装量/净含量/喷药量");
q3.setCheckManName("马娥章");
q3.setCheckTime("2024-08-06 15:00:00");
dtos.add(q3);
QcInterface q4 = new QcInterface();
q4.setProjectName("是否符合签样及材料清单要求,堆板日期朝外");
q4.setCheckManName("马娥章");
q4.setCheckTime("2024-08-05 11:00:00");
dtos.add(q4);
// QcInterface q5 = new QcInterface();
// q5.setProjectName("其它不良现象");
// q5.setCheckManName("马娥章");
// q5.setCheckTime("2024-08-05 16:00:00");
// dtos.add(q5);
/**质量看板测试结束**/
return dtos; return dtos;
} }

@ -113,7 +113,9 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
} }
} }
return tabledtos; return tabledtos.stream()
.filter(obj -> obj.getBatchs() != 0)
.collect(Collectors.toList());
} }
/** /**

@ -352,8 +352,26 @@ public class BaseProduct extends BaseEntity {
@Excel(name = "报工汇率") @Excel(name = "报工汇率")
private BigDecimal reportRate; private BigDecimal reportRate;
private String mvgr5Nm; private String mvgr5Nm;
private String mvgr5;
private String palletNum;
private String warehouseCycle; private String warehouseCycle;
public String getMvgr5() {
return mvgr5;
}
public void setMvgr5(String mvgr5) {
this.mvgr5 = mvgr5;
}
public String getPalletNum() {
return palletNum;
}
public void setPalletNum(String palletNum) {
this.palletNum = palletNum;
}
public String getWarehouseCycle() { public String getWarehouseCycle() {
return warehouseCycle; return warehouseCycle;
} }

@ -123,6 +123,15 @@ public class BaseProductAttached extends BaseEntity {
@Excel(name = "其它") @Excel(name = "其它")
private String other; private String other;
private String warehouseCycle; private String warehouseCycle;
private String palletNum;
public String getPalletNum() {
return palletNum;
}
public void setPalletNum(String palletNum) {
this.palletNum = palletNum;
}
public String getWarehouseCycle() { public String getWarehouseCycle() {
return warehouseCycle; return warehouseCycle;

@ -87,6 +87,7 @@
iei, iei,
man_standar, man_standar,
warehouse_cycle, warehouse_cycle,
pallet_num,
<if test="sprayWay != null">spray_way,</if> <if test="sprayWay != null">spray_way,</if>
<if test="blankDiameter != null">blank_diameter,</if> <if test="blankDiameter != null">blank_diameter,</if>
<if test="blankNo != null">blank_no,</if> <if test="blankNo != null">blank_no,</if>
@ -108,6 +109,7 @@
#{iei}, #{iei},
#{manStandar}, #{manStandar},
#{warehouseCycle}, #{warehouseCycle},
#{palletNum},
<if test="sprayWay != null">#{sprayWay},</if> <if test="sprayWay != null">#{sprayWay},</if>
<if test="blankDiameter != null">#{blankDiameter},</if> <if test="blankDiameter != null">#{blankDiameter},</if>
<if test="blankNo != null">#{blankNo},</if> <if test="blankNo != null">#{blankNo},</if>
@ -152,7 +154,8 @@
set set
iei = #{iei}, iei = #{iei},
man_standar = #{manStandar}, man_standar = #{manStandar},
warehouse_cycle = #{warehouseCycle} warehouse_cycle = #{warehouseCycle},
pallet_num = #{palletNum}
where id = #{id} where id = #{id}
</update> </update>

@ -66,7 +66,7 @@
<result property="other" column="other"/> <result property="other" column="other"/>
<result property="reportRate" column="report_rate"/> <result property="reportRate" column="report_rate"/>
<result property="mvgr5Nm" column="mvgr5_nm"/> <result property="mvgr5Nm" column="mvgr5_nm"/>
<result property="palletNum" column="palletNum"/>
<result property="warehouseCycle" column="warehouse_cycle"/> <result property="warehouseCycle" column="warehouse_cycle"/>
<!--附属属性--> <!--附属属性-->
@ -168,7 +168,7 @@
bp.append_flag, bp.append_flag,
bp.append_percent, bp.append_percent,
bp.mtart, bp.mtart,
bp.report_rate,bp.mvgr5_nm, bp.report_rate,bp.mvgr5_nm,bp.mvgr5,
bpa.id, bpa.id,
bpa.category, bpa.category,
bpa.pc, bpa.pc,
@ -185,7 +185,7 @@
bpa.support_no, bpa.support_no,
bpa.pvc, bpa.pvc,
bpa.support_plate, bpa.support_plate,
bpa.other,bpa.warehouse_cycle bpa.other,bpa.warehouse_cycle,bpa.pallet_num palletNum
from base_product bp from base_product bp
left join base_product_attached bpa on bpa.product_code = right(bp.product_code,11) left join base_product_attached bpa on bpa.product_code = right(bp.product_code,11)
where product_id = #{productId} where product_id = #{productId}
@ -336,7 +336,7 @@
<if test="appendPercent != null">append_percent = #{appendPercent},</if> <if test="appendPercent != null">append_percent = #{appendPercent},</if>
<if test="mtart != null and mtart != ''">mtart = #{mtart},</if> <if test="mtart != null and mtart != ''">mtart = #{mtart},</if>
<if test="mvgr5Nm != null and mvgr5Nm != ''">mvgr5_nm = #{mvgr5Nm},</if> <if test="mvgr5Nm != null and mvgr5Nm != ''">mvgr5_nm = #{mvgr5Nm},</if>
<if test="mvgr5 != null and mvgr5 != ''">mvgr5 = #{mvgr5},</if>
report_rate = #{reportRate}, report_rate = #{reportRate},
</trim> </trim>
where product_id = #{productId} where product_id = #{productId}

Loading…
Cancel
Save