自动化立体仓库 - WMS系统
#
LSH
2023-02-14 1e6e0a13d087de37d389a4d10e4a84d16ddbbd40
#
4个文件已修改
112 ■■■■ 已修改文件
src/main/java/com/zy/ints/entity/Prdt.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/ints/entity/PrdtBak.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/ints/entity/Prdt.java
@@ -11,7 +11,7 @@
import java.io.Serializable;
@Data
@TableName("PRDT")
@TableName("ERP_PRDT")
public class Prdt implements Serializable {
    private static final long serialVersionUID = 1L;
@@ -21,44 +21,57 @@
     */
    @ApiModelProperty(value = "品号")
    @TableId(value = "prd_no", type = IdType.INPUT)
    @TableField("PRD_NO")
    @TableField("prd_no")
    private String prdNo;
    /**
     * 品名
     */
    @ApiModelProperty(value = "品名")
    @TableField("NAME")
    private String name;
    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    @TableField("UT")
    private String ut;
    /**
     * 规格
     */
    @ApiModelProperty(value = "规格")
    @TableField("SPC")
    private String spc;
    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    @TableField("TYPE")
    private Integer type;
    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    @TableField("STATUS")
    private Integer status;
    /**
     * 备用字段1
     */
    @ApiModelProperty(value = "备用字段1")
    private String temp1;
    /**
     * 备用字段2
     */
    @ApiModelProperty(value = "备用字段2")
    private String temp2;
    /**
     * 备用字段3
     */
    @ApiModelProperty(value = "备用字段3")
    private String temp3;
    public Prdt() {
    }
src/main/java/com/zy/ints/entity/PrdtBak.java
@@ -10,7 +10,7 @@
import java.io.Serializable;
@Data
@TableName("erp_prdt_bak")
@TableName("ERP_PRDT_BAK")
public class PrdtBak implements Serializable {
    private static final long serialVersionUID = 1L;
@@ -53,6 +53,24 @@
    @ApiModelProperty(value = "状态")
    private Integer status;
    /**
     * 备用字段1
     */
    @ApiModelProperty(value = "备用字段1")
    private String temp1;
    /**
     * 备用字段2
     */
    @ApiModelProperty(value = "备用字段2")
    private String temp2;
    /**
     * 备用字段3
     */
    @ApiModelProperty(value = "备用字段3")
    private String temp3;
    public PrdtBak() {
    }
src/main/java/com/zy/ints/task/scheduler/ErpPrdtScheduler.java
@@ -34,6 +34,8 @@
    private Boolean erpEnabled;
    @Value("${erp.useName.ip}")
    private String ip;
    @Value("${erp.enabledErpPrdt}")
    private Boolean enabledErpPrdt;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
@@ -48,10 +50,10 @@
     */
    @Scheduled(cron = "${erp.refreshtime}")
    public void obtainPedt() {
        if (!erpEnabled) return;
        String sqlSelectPrdt = "select PRD_NO as prdNo,NAME as name,UT as ut,SPC as spc from PRDT where 1=1";
        String sqlUpDatePrdtOne = "update PRDT set STATUS=1 where PRD_NO=";
        String sqlUpDatePrdtTwo = "update PRDT set STATUS=2 where PRD_NO=";
        if (!enabledErpPrdt) return;
        String sqlSelectPrdt = "select prd_no as prdNo,name,ut,spc from ERP_PRDT where 1=1";
        String sqlUpDatePrdtOne = "update ERP_PRDT set status=1 where prd_no=";
        String sqlUpDatePrdtTwo = "update ERP_PRDT set status=2 ";
        try {
            Tag tag = tagService.selectByName("全部", 1);
@@ -76,14 +78,16 @@
                                matNew.setUpdateTime(date);
                                if (matService.insert(matNew)) {
                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true);
                                    callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!添加商品信息成功!", true);
                                } else {
                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!添加商品信息失败!!!", false);
                                    erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='添加ERP下发商品信息失败!!!状态异常!!!'"
                                            + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "ERP_PRDT", "添加ERP下发商品信息失败!!!状态异常!!!", false);
                                }
                            } else {
                                erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
                                callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false);
                                erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!商品已存在!!!'"
                                        + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
                                callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息失败!!!商品已存在!!!", false);
                            }
                        } else if (type == 2) {
                            Mat mat = matService.selectByMatnr(prdt.getPrdNo());
@@ -93,10 +97,11 @@
                                mat.setSpecs(prdt.getSpc());
                                if (matService.updateById(mat)) {
                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!修改商品信息成功!", true);
                                    callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!修改商品信息成功!", true);
                                } else {
                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false);
                                    erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!修改商品信息失败!!!'"
                                            + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息失败!!!修改商品信息失败!!!", false);
                                }
                            }
                        } else if (type == 3) {
@@ -104,23 +109,28 @@
                            if (!Cools.isEmpty(mat)) {
                                if (matService.deleteById(mat.getId())) {
                                    erpSqlServer.update(sqlUpDatePrdtOne + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息成功!", true);
                                    callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!删除商品信息成功!", true);
                                } else {
                                    erpSqlServer.update(sqlUpDatePrdtTwo + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "PRDT", "接收ERP下发商品信息成功!删除商品信息失败!", false);
                                    erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息成功!删除商品信息失败!'"
                                            + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
                                    callApiLogSave(prdt, "ERP_PRDT", "接收ERP下发商品信息成功!删除商品信息失败!", false);
                                }
                            }
                        } else {
                            callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false);
                            if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
                                erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!type状态异常!!!'"
                                        + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
                                callApiLogSave(prdt, "ERP_PRDT", "商品信息出现异常资料未处理!", false);
                            }
                        }
                    } else if (prdt.getStatus() == 1) {
                        HashMap<String, Object> condition = new HashMap<>();
                        condition.put("PRD_NO", "'" + prdt.getPrdNo() + "'");
                        condition.put("NAME", "'" + prdt.getName() + "'");
                        condition.put("UT", "'" + prdt.getUt() + "'");
                        condition.put("SPC", "'" + prdt.getSpc() + "'");
                        condition.put("TYPE", "'" + prdt.getType() + "'");
                        condition.put("STATUS", "'" + prdt.getStatus() + "'");
                        condition.put("prd_no", "'" + prdt.getPrdNo() + "'");
                        condition.put("name", "'" + prdt.getName() + "'");
                        condition.put("ut", "'" + prdt.getUt() + "'");
                        condition.put("spc", "'" + prdt.getSpc() + "'");
                        condition.put("type", "'" + prdt.getType() + "'");
                        condition.put("status", "'" + prdt.getStatus() + "'");
                        erpSqlServer.insert(PrdtBak.class, condition);
//                        callApiLogSave(prdt, "erp_prdt_bak", "ERP下发商品信息备份成功!", true);
@@ -129,13 +139,17 @@
                        erpSqlServer.delete(Prdt.class, condition2);
//                        callApiLogSave(prdt, "erp_prdt", "ERP下发商品信息备份后删除成功!", true);
                    } else {
                        callApiLogSave(prdt, "PRDT", "商品信息出现异常资料未处理!", false);
                        if (Cools.isEmpty(prdt.getTemp1()) && Cools.isEmpty(prdt.getTemp2()) && Cools.isEmpty(prdt.getTemp3())){
                            erpSqlServer.update(sqlUpDatePrdtTwo +",Temp1='接收ERP下发商品信息失败!!!status状态异常!!!'"
                                    + "where 1=1 " +" and PRD_NO=" + "'" + prdt.getPrdNo() + "'");
                            callApiLogSave(prdt, "ERP_PRDT", "商品信息出现异常资料未处理!", false);
                        }
                    }
                }
            }
        } catch (Exception e) {
            Date date = new Date();
            log.error(date + ": 表名:PRDT :" + e);
            log.error(date + ": 表名:ERP_PRDT :" + e);
        }
    }
src/main/resources/application.yml
@@ -53,7 +53,8 @@
erp:
  enabled: false
  enabledNew: false
  enabledErpDetTb: true
  enabledErpDetTb: false
  enabledErpPrdt: true
  #  enabled: false
  #查看ERP中间表间隔
  refreshtime: 0/5 * * * * ?