소스 검색

出库管理

wangxiaoming 5 년 전
부모
커밋
3f961ca961

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/fm/SignclosedProductInfo.java

@@ -24,6 +24,7 @@ public class SignclosedProductInfo implements Serializable {
     private Integer signclosedState;//签收状态 1待签收 2已签收
     private String colorName;//颜色名称
     private String productNumber;//产品型号
+    private String colorBar;//产品sku
     private Integer colorPrice;//产品价格
 
     public Integer getProductId() {
@@ -137,4 +138,12 @@ public class SignclosedProductInfo implements Serializable {
     public void setColorPrice(Integer colorPrice) {
         this.colorPrice = colorPrice;
     }
+
+    public String getColorBar() {
+        return colorBar;
+    }
+
+    public void setColorBar(String colorBar) {
+        this.colorBar = colorBar;
+    }
 }

+ 10 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintDetectInfoServiceImpl.java

@@ -28,6 +28,7 @@ import java.text.MessageFormat;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @Service
 public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoService {
@@ -518,6 +519,15 @@ public class ComplaintDetectInfoServiceImpl implements ComplaintDetectInfoServic
 
     @Override
     public Integer updatePrint(ComplaintDetectInfo detectInfo) {
+        ComplaintDetectInfo cdi = complaintDetectInfoMapper.getDetectByIdFast(detectInfo.getDetectId());
+        if(!Objects.equals(cdi.getDetectState(), detectInfo.getDetectState())){ //修改状态时判断状态,来调整库存
+            switch (detectInfo.getDetectState()){    //detectState
+                case 23:
+                    break;
+                default:
+                    break;
+            }
+        }
         return complaintDetectInfoMapper.updateDetectById(detectInfo);
     }
 

+ 39 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintSignclosedInfoServiceImpl.java

@@ -13,10 +13,7 @@ import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.service.cm.mapper.*;
-import com.iamberry.rst.service.fm.mapper.AwaitingSignclosedProductMapper;
-import com.iamberry.rst.service.fm.mapper.ComplaintDetectInfoMapper;
-import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedInfoMapper;
-import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedProductInfoMapper;
+import com.iamberry.rst.service.fm.mapper.*;
 import com.iamberry.rst.service.product.mapper.ProductMapper;
 import com.iamberry.rst.util.PageUtil;
 import com.iamberry.rst.util.ProduceNoUtil;
@@ -50,6 +47,10 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
     @Autowired
     private CustomerInfoMapper customerInfoMapper;
     @Autowired
+    private InventoryMapper inventoryMapper;
+    @Autowired
+    private InventoryLogMapper inventoryLogMapper;
+    @Autowired
     private SmsService smsService;
 
     @Override
@@ -58,6 +59,8 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                           String orderItemString,String[] componentsImgs) {
         Integer msg = 0;
         int num = 0;
+        Integer signclosedId = null;
+        Integer flag = 0;
         //查询是否已存在相同单号
         if(record.getSignclosedLogisticsNumber() != null){
             ComplaintSignclosedInfo info = new ComplaintSignclosedInfo();
@@ -66,6 +69,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
             if(sinfoList.size() <= 0){
                 num = complaintSignclosedInfoMapper.insert(record);
                 msg = 1;//添加成功
+                signclosedId = record.getSignclosedId();
             }else{
                 //将签收记录改为已签收
                 ComplaintSignclosedInfo complaintSignclosedInfo = sinfoList.get(0);
@@ -74,6 +78,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                     complaintSignclosedInfo.setSignclosedDate(new Date());
                     complaintSignclosedInfoMapper.updateSignclosedById(complaintSignclosedInfo);
                     msg = 3;//已存在相同单号的签收信息并修改状态为已签收
+                    signclosedId = complaintSignclosedInfo.getSignclosedId();
                 }else{
                     msg = 4;//已存在相同单号的已签收信息
                 }
@@ -92,7 +97,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                         SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
                         //根据颜色id获取产品信息获取产品信息
                             ProductColor productColor = productMapper.getProduceColor(salesOrderItem.getItemColorId());
-                            Product product = productMapper.getProduce(productColor.getColorProductId());
+//                            Product product = productMapper.getProduce(productColor.getColorProductId());
                             if(productColor == null){
                                 msg = 2;
                             }
@@ -134,6 +139,35 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                     }
                 }
             }
+
+            if(msg == 1 || msg == 3){
+                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                List<SignclosedProductInfo> signclosedProductInfoList = complaintSignclosedProductInfoMapper.listSignclosedById(signclosedId);
+                for (SignclosedProductInfo spi:signclosedProductInfoList) {
+                    InventoryInfo info = inventoryMapper.getByInventoryByBar(spi.getColorBar(),2);
+                    info.setInventoryDefectiveProductNum(info.getInventoryDefectiveProductNum()+spi.getProductNum());
+                    info.setInventoryRecentRecord(sdf.format(new Date())+"不良品入库:"+ spi.getProductNum() + "件");
+                    flag =  inventoryMapper.updateById(info);
+                    if(flag < 1){
+                        throw new RuntimeException("更新库存失败,更新库存失败。");
+                    }
+
+                    //添加日志
+                    InventoryLog inventoryLog = new InventoryLog();
+                    inventoryLog.setLogProductName(info.getInventoryProductName());
+                    inventoryLog.setLogProductBar(info.getInventoryProductBar());
+                    inventoryLog.setLogRemainingNum(spi.getProductNum());
+                    inventoryLog.setLogType(3);
+                    inventoryLog.setLogOperationType(2);
+                    inventoryLog.setLogDesc(sdf.format(new Date())+"不良品入库:"+spi.getProductNum()+"件");
+                    inventoryLog.setLogQualityType(2);
+                    inventoryLog.setLogWarehouseId(2);
+                    flag = inventoryLogMapper.insert(inventoryLog);
+                    if(flag < 1){
+                        throw new RuntimeException("更新库存失败,增加库存记录失败。");
+                    }
+                }
+            }
             //添加签收图片
             if(componentsImgs != null) {
                 if (componentsImgs.length > 0) {

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/ComplaintDetectInfoMapper.java

@@ -14,6 +14,12 @@ public interface ComplaintDetectInfoMapper {
      * @return
      */
     ComplaintDetectInfo getDetectById(Integer detectId);
+
+    /**
+     * 查询单个品质检测产品 - Small
+     * @return
+     */
+    ComplaintDetectInfo getDetectByIdFast(Integer detectId);
     /**
      * 修改单个待品质检测
      * @return

+ 31 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintDetectInfoMapper.xml

@@ -75,6 +75,37 @@
     where detect_id = #{detectId,jdbcType=INTEGER}
     GROUP BY c.customer_id
   </select>
+
+  <select id="getDetectByIdFast" resultType="ComplaintDetectInfo" parameterType="java.lang.Integer" >
+    select
+      detect_id detectId,
+      detect_product_number detectProductNumber,
+      detect_state detectState,
+      cd.customer_id customerId,
+      detect_phenomenon detectPhenomenon,
+      detect_classification detectClassification,
+      detect_failure_cause detectFailureCause,
+      detect_results detectResults,
+      detect_point detectPoint,
+      detect_nalysis detectNalysis,
+      detect_content detectContent,
+      detect_desc detectDesc,
+      detect_date detectDate,
+      detect_create_time detectCreateTime,
+      detect_update_time detectUpdateTime,
+      detect_offer detectOffer,
+      detect_renovation detectRenovation,
+      detect_processing_results detectProcessingResults,
+      detect_production detectProduction,
+      detect_fuselage_barcode detectFuselageBarcode,
+      detect_film_type detectFilmType,
+      detect_float_type detectFloatType,
+      detect_version_number detectVersionNumber,
+      detect_is_refurbishing detectIsRefurbishing
+    from tb_rst_complaint_detect cd
+    where detect_id = #{detectId,jdbcType=INTEGER}
+  </select>
+
   <select id="listComplaintDetect" resultType="ComplaintDetectInfo" parameterType="ComplaintDetectInfo" >
     select
     cd.detect_id detectId,

+ 2 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/mapper/complaintSignclosedProductInfoMapper.xml

@@ -12,7 +12,6 @@
     <result column="signclosed_product_id" property="signclosedProductId" jdbcType="INTEGER" />
     <result column="signclosed_product_color" property="signclosedProductColor" jdbcType="INTEGER" />
     <result column="machine_no" property="machineNo" jdbcType="VARCHAR" />
-
   </resultMap>
   <sql id="Base_Column_List" >
     product_id, signclosed_id, product_name, product_num, signclosed_create_time,
@@ -38,7 +37,8 @@
 	sp.machine_no machineNo,
     pc.color_name colorName,
     pi.product_number productNumber,
-    pc.color_price colorPrice
+    pc.color_price colorPrice,
+    pc.color_bar colorBar
     from
     tb_rst_complaint_signclosed_product sp
     LEFT JOIN tb_rst_product_color pc on sp.signclosed_product_color = pc.color_id

+ 11 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSignclosedController.java

@@ -187,7 +187,17 @@ public class AdminSignclosedController {
         }
         signclosedInfo.setSignclosedCreateTime(new Date());
         signclosedInfo.setSignclosedIsReceiving(2);
-        Integer num = complaintSignclosedInfoService.insert(signclosedInfo,orderItemString,componentsImgs);
+        Integer num = 0;
+        try{
+            num = complaintSignclosedInfoService.insert(signclosedInfo,orderItemString,componentsImgs);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        if(num < 1){
+            msg.setResultCode(500);
+            msg.setReturnCode(num);
+            return msg;
+        }
         msg.setResultCode(200);
         msg.setReturnCode(num);
         return msg;