Browse Source

编辑材料信息

dxq 3 months ago
parent
commit
9333e2c3a5

+ 12
- 0
sto/src/main/java/com/shinsoft/sto/controller/ware/ProdMasterController.java View File

2
 
2
 
3
 import com.alibaba.fastjson.JSON;
3
 import com.alibaba.fastjson.JSON;
4
 import com.shinsoft.sto.model.system.ResultJSON;
4
 import com.shinsoft.sto.model.system.ResultJSON;
5
+import com.shinsoft.sto.model.ware.ProdMaster;
5
 import com.shinsoft.sto.service.ware.ProdMasterService;
6
 import com.shinsoft.sto.service.ware.ProdMasterService;
6
 import org.springframework.beans.factory.annotation.Autowired;
7
 import org.springframework.beans.factory.annotation.Autowired;
8
+import org.springframework.web.bind.annotation.RequestBody;
7
 import org.springframework.web.bind.annotation.RequestMapping;
9
 import org.springframework.web.bind.annotation.RequestMapping;
8
 import org.springframework.web.bind.annotation.RequestParam;
10
 import org.springframework.web.bind.annotation.RequestParam;
9
 import org.springframework.web.bind.annotation.RestController;
11
 import org.springframework.web.bind.annotation.RestController;
33
         }
35
         }
34
     }
36
     }
35
 
37
 
38
+    @RequestMapping(value = "/edit")
39
+    public ResultJSON edit(@RequestBody ProdMaster prodMaster) {
40
+        try {
41
+            return prodMasterService.edit(prodMaster);
42
+        } catch (Exception ex) {
43
+            ex.printStackTrace();
44
+            return ResultJSON.error("编辑失败:" + ex.getMessage());
45
+        }
46
+    }
47
+
36
     @SuppressWarnings("unchecked")
48
     @SuppressWarnings("unchecked")
37
     private Map<String, Object> buildQueryParams(String params, HttpServletRequest request) {
49
     private Map<String, Object> buildQueryParams(String params, HttpServletRequest request) {
38
         Map<String, Object> map = new HashMap<>();
50
         Map<String, Object> map = new HashMap<>();

+ 1
- 1
sto/src/main/java/com/shinsoft/sto/mapper/ware/ProdMasterMapper.java View File

11
 public interface ProdMasterMapper extends BaseMapper<ProdMaster> {
11
 public interface ProdMasterMapper extends BaseMapper<ProdMaster> {
12
 
12
 
13
     IPage<ProdMaster> selectProdMasterPage(Page<ProdMaster> page,
13
     IPage<ProdMaster> selectProdMasterPage(Page<ProdMaster> page,
14
-                                          @Param("parms") Map<String, Object> map);
14
+                                           @Param("parms") Map<String, Object> map);
15
 }
15
 }
16
 
16
 

+ 14
- 9
sto/src/main/java/com/shinsoft/sto/mapper/ware/WareStoreMapper.xml View File

73
             ws.stack_id,
73
             ws.stack_id,
74
             ws.store_id,
74
             ws.store_id,
75
             ws.layer_no,
75
             ws.layer_no,
76
-            w.ware_nm as ware_name,
76
+            wa.ware_nm as ware_name,
77
             s.name as stack_name,
77
             s.name as stack_name,
78
             m.material_name,
78
             m.material_name,
79
             pm.st_grade,
79
             pm.st_grade,
80
             pm.in_dtm,
80
             pm.in_dtm,
81
-            w.ware_nm owner_company,
82
-            w1.ware_nm receiving_company,
83
-            w2.ware_nm customer_company,
81
+            w.CUSTOMER_NM owner_company,
82
+            w1.CUSTOMER_NM receiving_company,
83
+            w2.CUSTOMER_NM customer_company,
84
             pm.prod_no,
84
             pm.prod_no,
85
             pm.in_truck_no,
85
             pm.in_truck_no,
86
-            pm.ATTRIB_01 order_no,
87
-            pm.ATTRIB_02 contract_no,
86
+            pm.ATTRIB_01 ,
87
+            pm.ATTRIB_02 ,
88
+            pm.ATTRIB_03 ,
89
+            pm.ATTRIB_04 ,
90
+            pm.ATTRIB_05 ,
91
+            pm.remark_1 ,
88
             pm.weight,
92
             pm.weight,
89
             pm.quantity,
93
             pm.quantity,
90
             pm.out_flag,
94
             pm.out_flag,
91
             pm.delivery_address
95
             pm.delivery_address
92
         from T_WARE_STORE ws
96
         from T_WARE_STORE ws
97
+        left join T_MAIN_WARE wa on wa.id = ws.ware_id
93
         left join T_MAIN_STACK s on ws.stack_id = s.id
98
         left join T_MAIN_STACK s on ws.stack_id = s.id
94
         left join T_PROD_MASTER pm on ws.store_id = pm.id
99
         left join T_PROD_MASTER pm on ws.store_id = pm.id
95
         left join T_MAIN_MATERIAL m on pm.material_id = m.id
100
         left join T_MAIN_MATERIAL m on pm.material_id = m.id
96
-        left join T_MAIN_WARE w on w.id = pm.OWNER_COMPANY
97
-        left join T_MAIN_WARE w1 on w1.id = pm.RECEIVING_COMPANY
98
-        left join T_MAIN_WARE w2 on w1.id = pm.CUSTOMER_COMPANY
101
+        left join T_MAIN_CUSTOMER w on w.id = pm.OWNER_COMPANY
102
+        left join T_MAIN_CUSTOMER w1 on w1.id = pm.RECEIVING_COMPANY
103
+        left join T_MAIN_CUSTOMER w2 on w2.id = pm.CUSTOMER_COMPANY
99
         <include refid="QueryWhere"/>
104
         <include refid="QueryWhere"/>
100
         order by pm.in_dtm desc
105
         order by pm.in_dtm desc
101
     </select>
106
     </select>

+ 0
- 2
sto/src/main/java/com/shinsoft/sto/model/ware/ProdMaster.java View File

10
 
10
 
11
 import java.math.BigDecimal;
11
 import java.math.BigDecimal;
12
 import java.util.Date;
12
 import java.util.Date;
13
-
14
 @Getter
13
 @Getter
15
 @Setter
14
 @Setter
16
 @Accessors(chain = true)
15
 @Accessors(chain = true)
152
 
151
 
153
     @ApiModelProperty("备注信息5")
152
     @ApiModelProperty("备注信息5")
154
     private String remark5;
153
     private String remark5;
155
-
156
 }
154
 }
157
 
155
 

+ 9
- 2
sto/src/main/java/com/shinsoft/sto/model/ware/WareStoreQueryVO.java View File

31
     private String customerCompany;
31
     private String customerCompany;
32
     private String prodNo;
32
     private String prodNo;
33
     private String inTruckNo;
33
     private String inTruckNo;
34
-    private String orderNo;
35
-    private String contractNo;
34
+    private String attrib01;
35
+    private String attrib02;
36
+    private String attrib03;
37
+    private String attrib04;
38
+    private String attrib05;
39
+    private String remark1;
36
     private BigDecimal weight;
40
     private BigDecimal weight;
37
     private BigDecimal quantity;
41
     private BigDecimal quantity;
38
     private String outFlag;
42
     private String outFlag;
39
     private String deliveryAddress;
43
     private String deliveryAddress;
40
 }
44
 }
41
 
45
 
46
+
47
+
48
+

+ 68
- 1
sto/src/main/java/com/shinsoft/sto/service/impl/ware/ProdMasterServiceImpl.java View File

4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
6
 import com.shinsoft.sto.mapper.ware.ProdMasterMapper;
6
 import com.shinsoft.sto.mapper.ware.ProdMasterMapper;
7
+import com.shinsoft.sto.mapper.ware.ChangeRecordMapper;
7
 import com.shinsoft.sto.model.system.ResponseCodeMsg;
8
 import com.shinsoft.sto.model.system.ResponseCodeMsg;
9
+import com.shinsoft.sto.model.ware.ChangeRecord;
8
 import com.shinsoft.sto.model.ware.ProdMaster;
10
 import com.shinsoft.sto.model.ware.ProdMaster;
9
 import com.shinsoft.sto.service.ware.ProdMasterService;
11
 import com.shinsoft.sto.service.ware.ProdMasterService;
10
-import com.shinsoft.tools.JSONTools;
11
 import com.shinsoft.sto.model.system.ResultJSON;
12
 import com.shinsoft.sto.model.system.ResultJSON;
12
 import org.springframework.stereotype.Service;
13
 import org.springframework.stereotype.Service;
14
+import org.springframework.beans.BeanUtils;
15
+import org.springframework.transaction.annotation.Transactional;
13
 
16
 
14
 import java.util.Map;
17
 import java.util.Map;
15
 
18
 
25
 public class ProdMasterServiceImpl extends ServiceImpl<ProdMasterMapper, ProdMaster> implements ProdMasterService {
28
 public class ProdMasterServiceImpl extends ServiceImpl<ProdMasterMapper, ProdMaster> implements ProdMasterService {
26
 
29
 
27
     ResultJSON resultJSON;
30
     ResultJSON resultJSON;
31
+    private final ChangeRecordMapper changeRecordMapper;
32
+
33
+    public ProdMasterServiceImpl(ChangeRecordMapper changeRecordMapper) {
34
+        this.changeRecordMapper = changeRecordMapper;
35
+    }
28
 
36
 
29
     @Override
37
     @Override
30
     public ResultJSON query(int page, int rows, Map<String, Object> map) {
38
     public ResultJSON query(int page, int rows, Map<String, Object> map) {
37
             return ResultJSON.error(ResponseCodeMsg.CODE_EX, ex.getMessage());
45
             return ResultJSON.error(ResponseCodeMsg.CODE_EX, ex.getMessage());
38
         }
46
         }
39
     }
47
     }
48
+
49
+    @Override
50
+    @Transactional(rollbackFor = Exception.class)
51
+    public ResultJSON edit(ProdMaster prodMaster) {
52
+        try {
53
+            if (prodMaster == null || prodMaster.getId() == null || prodMaster.getId().trim().isEmpty()) {
54
+                return ResultJSON.error("材料ID不能为空");
55
+            }
56
+
57
+            ProdMaster dbData = baseMapper.selectById(prodMaster.getId());
58
+            if (dbData == null) {
59
+                return ResultJSON.error("未找到对应的材料信息");
60
+            }
61
+
62
+            // 记录旧数据到变更表
63
+            ChangeRecord record = new ChangeRecord();
64
+            BeanUtils.copyProperties(dbData, record);
65
+            record.setId(null);
66
+            changeRecordMapper.insert(record);
67
+
68
+            // 按需更新字段
69
+            if (prodMaster.getQuantity() != null) {
70
+                dbData.setQuantity(prodMaster.getQuantity());
71
+            }
72
+            if (prodMaster.getWeight() != null) {
73
+                dbData.setWeight(prodMaster.getWeight());
74
+            }
75
+            if (prodMaster.getAttrib01() != null) {
76
+                dbData.setAttrib01(prodMaster.getAttrib01());
77
+            }
78
+            if (prodMaster.getAttrib02() != null) {
79
+                dbData.setAttrib02(prodMaster.getAttrib02());
80
+            }
81
+            if (prodMaster.getAttrib04() != null) {
82
+                dbData.setAttrib04(prodMaster.getAttrib04());
83
+            }
84
+            if (prodMaster.getAttrib05() != null) {
85
+                dbData.setAttrib05(prodMaster.getAttrib05());
86
+            }
87
+            if (prodMaster.getOwnerCompany() != null) {
88
+                dbData.setOwnerCompany(prodMaster.getOwnerCompany());
89
+            }
90
+            if (prodMaster.getCustomerCompany() != null) {
91
+                dbData.setCustomerCompany(prodMaster.getCustomerCompany());
92
+            }
93
+            if (prodMaster.getDeliveryAddress() != null) {
94
+                dbData.setDeliveryAddress(prodMaster.getDeliveryAddress());
95
+            }
96
+            if (prodMaster.getRemark1() != null) {
97
+                dbData.setRemark1(prodMaster.getRemark1());
98
+            }
99
+
100
+            baseMapper.updateById(dbData);
101
+            return ResultJSON.success(dbData);
102
+        } catch (Exception ex) {
103
+            ex.printStackTrace();
104
+            return ResultJSON.error(ResponseCodeMsg.CODE_EX, ex.getMessage());
105
+        }
106
+    }
40
 }
107
 }
41
 
108
 

+ 9
- 1
sto/src/main/java/com/shinsoft/sto/service/ware/ProdMasterService.java View File

1
 package com.shinsoft.sto.service.ware;
1
 package com.shinsoft.sto.service.ware;
2
 
2
 
3
 import com.baomidou.mybatisplus.extension.service.IService;
3
 import com.baomidou.mybatisplus.extension.service.IService;
4
-import com.shinsoft.sto.model.ware.ProdMaster;
5
 import com.shinsoft.sto.model.system.ResultJSON;
4
 import com.shinsoft.sto.model.system.ResultJSON;
5
+import com.shinsoft.sto.model.ware.ProdMaster;
6
+
6
 import java.util.Map;
7
 import java.util.Map;
7
 
8
 
8
 /**
9
 /**
16
 public interface ProdMasterService extends IService<ProdMaster> {
17
 public interface ProdMasterService extends IService<ProdMaster> {
17
 
18
 
18
     ResultJSON query(int page, int rows, Map<String, Object> map);
19
     ResultJSON query(int page, int rows, Map<String, Object> map);
20
+
21
+    /**
22
+     * 修改材料信息并记录变更
23
+     */
24
+    ResultJSON edit(ProdMaster prodMaster);
19
 }
25
 }
20
 
26
 
27
+
28
+

Loading…
Cancel
Save