szq 4 years ago
parent
commit
0400dbb25f

+ 0 - 38
src/main/java/com/miyzh/entity/UploadExceptionLog.java

@@ -1,38 +0,0 @@
-package com.miyzh.entity;
-
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * description: 日志记录
- * date: 2020/6/18 11:32
- * author: SZQ
- */
-@Data
-public class UploadExceptionLog {
-
-    private Long id;
-
-    private String tradeCode; //交易码
-
-    private String uploadInfo; //报文信息
-
-    private String serialNumber; //业务流水号
-
-    private String errorMsg; //错误信息
-
-    private Integer retryCount; //重试次数
-
-    private Integer status; // 1:成功, 2:执行中, 3:失败
-
-    private Integer isDel; //标记删除 0:删除 1:正常
-
-    private Date createDate;
-
-    private Date modifyDate;
-    
-
-
-
-}

+ 2 - 2
src/main/java/com/miyzh/service/BaseService.java

@@ -59,14 +59,14 @@ public class BaseService {
 
             // 入库
 //            medicineStorageService.uploadMedicine(clinicList, InStore.MED_PUR);
-//            medicineStorageService.uploadMedicine(clinicList, InStore.CHI_MED_PUR);
+            medicineStorageService.uploadMedicine(clinicList, InStore.CHI_MED_PUR);
 //            medicineStorageService.uploadMedicine(clinicList, InStore.MED_MED_INBOUND);
 //            medicineStorageService.uploadMedicine(clinicList, InStore.CHI_MED_INBOUND);
 //            medicineStorageService.uploadMedicine(clinicList, InStore.MED_INV);
 //            medicineStorageService.uploadMedicine(clinicList, InStore.CHI_MED_INV);
 
             //出库
-            medicineReturnService.uploadMedicine(clinicList, OutStore.MED_OUT);
+//            medicineReturnService.uploadMedicine(clinicList, OutStore.MED_OUT);
 //            medicineReturnService.uploadMedicine(clinicList, OutStore.CHI_MED_OUT);
 //            medicineReturnService.uploadMedicine(clinicList, OutStore.MED_OUTTREASURY);
 //            medicineReturnService.uploadMedicine(clinicList, OutStore.CHI_MED_OUTTREASURY);

+ 4 - 2
src/main/java/com/miyzh/service/MedicineReturnService.java

@@ -109,11 +109,13 @@ public class MedicineReturnService {
                 switch (flag) {
                     case MED_OUT:
                     case CHI_MED_OUT:
+                        // 销售出库
                         medicineReturnDto.setStockoutType(StockoutType.SELL);
                         break;
                     case MED_OUTTREASURY:
                     case CHI_MED_OUTTREASURY:
-                        medicineReturnDto.setStockoutType(StockoutType.ALLOT);
+                        //
+                        medicineReturnDto.setStockoutType(StockoutType.LOSS);
                         break;
                     case MED_BACK:
                     case CHI_MED_BACK:
@@ -121,7 +123,7 @@ public class MedicineReturnService {
                         break;
                     case MED_INV:
                     case CHI_MED_INV:
-                        medicineReturnDto.setStockoutType(StockoutType.LOSS);
+                        medicineReturnDto.setStockoutType(StockoutType.ALLOT);
                         break;
                 }
                 medicineReturnDto.setStorePrecordCode("00000000");

+ 100 - 2
src/main/resources/mapper/MedicineReturnMapper.xml

@@ -32,7 +32,56 @@
 
     <!--中药损耗/领用出库记录-->
     <select id="listChinaMedicineOutTreasury" resultMap="BaseResultMap" parameterType="java.lang.String">
-
+        SELECT DISTINCT
+            IF (
+                length(ccm.med_ins_backup_id) > 0,
+                ccm.med_ins_backup_id,
+                ccm.medicine_id
+            ) AS store_medicine_code,
+             ccm.medicine_name AS store_medicine_name,
+             ccm.medicine_name AS store_medicine_trade_name,
+             ifnull(idm.formulation, " ") AS dosage_id,
+             ccm.medicine_rate_last AS dosage_name,
+             ccm.medicine_specifications AS specification,
+             ccm.medicine_manufacturer_name AS manufacturer,
+             ccm.medicine_address AS place,
+             idm.medicine_package AS pack,
+             " " AS model,
+             cod.batch_number AS batch_no,
+             cod.stock_date AS medicine_deadline,
+             cod.deadline_date AS manufacture_time,
+             '00000000' AS bar_code,
+             "" AS regist_no,
+             cod.medicine_manufacture AS delivery_company,
+             "999999999" AS distributor,
+             '' AS store_storage_code,
+             sum(cod.out_num) AS return_quantity,
+             cod.stock_price AS price,
+             cod.sale_price AS retail_price,
+             "" AS plat_item_code,
+             "" AS plat_item_name,
+             idm.standard_menu_code AS item_code,
+             idm.insurance_medicine_name AS item_name,
+             co.create_userName AS return_man,
+             co.create_time AS return_time,
+              AS store_return_code
+             FROM
+                clc_outtreasury_detail cod,
+                clc_china_medicine ccm,
+                clc_outtreasury co,
+                ins_d_medicine idm
+             WHERE
+                cod.medicine_id = ccm.medicine_id
+                AND cod.clinic_id = ccm.clinic_id
+                AND cod.clinic_id = co.clinic_id
+                AND cod.outtreasury_id = co.id
+                AND ccm.medicine_id = idm.medicine_id
+                AND ccm.clinic_id = idm.clinic_id
+                AND cod.clinic_id = #{clinicId}
+                AND cod.biz_type = 2
+             ORDER BY
+                co.create_time,
+                cod.medicine_id
     </select>
 
     <!--西药销售出库记录-->
@@ -57,7 +106,56 @@
 
     <!--中药盘点盘亏出库记录-->
     <select id="listChinaMedicineInventory" resultMap="BaseResultMap" parameterType="java.lang.String">
-
+        SELECT DISTINCT
+        IF (
+            length(ccm.med_ins_backup_id) > 0,
+            ccm.med_ins_backup_id,
+            ccm.medicine_id
+            ) AS store_medicine_cide,
+             ccm.medicine_name AS store_medicine_name,
+             ccm.medicine_name AS store_medicine_trade_name,
+             ifnull(idm.formulation, " ") AS dosage_id,
+             ccm.medicine_rate_last AS dosage_name,
+             ccm.medicine_specifications AS specification,
+             ccm.medicine_manufacturer_name AS manufacturer,
+             ccm.medicine_address AS place,
+             idm.medicine_package AS pack,
+             " " AS model,
+             cid.batch_number AS batch_no,
+             cid.stock_date AS medicine_deadline,
+             cid.deadline_date AS manufacture_time,
+             '00000000' AS bar_cide,
+             "" AS regist_no,
+             cid.medicine_manufacture AS delivery_company,
+             "999999999" AS distributor,
+             '' AS store_storage_cide,
+             sum(cid.stock_num) AS return_quantity,
+             cid.stock_price AS price,
+             cid.sale_price AS retail_price,
+             "" AS plat_item_cide,
+             "" AS plat_item_name,
+             idm.standard_menu_code AS item_cide,
+             idm.insurance_medicine_name AS item_name,
+             ci.create_userName AS return_man,
+             ci.create_time AS return_time
+        FROM
+            clc_inventory_detail cid,
+            clc_china_medicine ccm,
+            clc_inventory ci ,
+            ins_d_medicine as idm
+        WHERE
+            cid.medicine_id = ccm.medicine_id
+            AND cid.clinic_id = ccm.clinic_id
+            AND cid.clinic_id = ci.clinic_id
+            AND cid.inventory_id = ci.id
+            AND ccm.medicine_id = idm.medicine_id
+            AND ccm.clinic_id = idm.clinic_id
+            AND cid.inventory_type = 2
+            AND cid.clinic_id = #{clinicId}
+            AND cid.biz_type IN ( 4 )
+        ORDER BY
+            ci.create_time,
+            cid.medicine_id
     </select>
 
 

+ 119 - 78
src/main/resources/mapper/MedicineStorageMapper.xml

@@ -28,16 +28,16 @@
             cm.medicine_place as place,
             cm.medicine_unit AS pack,
             " " as model,
-            csd.stock_batch_number as batch_no,
-            csd.create_time as medicine_deadline,
-            csd.medicine_deadline as manufacture_time,
+            csi.stock_batch_number as batch_no,
+            csi.create_time as medicine_deadline,
+            csi.medicine_deadline as manufacture_time,
             cm.medicine_barcode as bar_code,
             "" as regist_no,
-            csd.stock_channel as delivery_company,
+            csi.stock_channel as delivery_company,
             "999999999" as distributor,
             cp.purchase_no as store_storage_code,
-            sum( csd.stock_change_number ) AS storage_quantity,
-            csd.stock_bid AS price,
+            sum( csi.stock_change_number ) AS storage_quantity,
+            csi.stock_bid AS price,
             cs.medicine_retail_price AS retail_price,
             "" as plat_item_code,
             "" as plat_item_name,
@@ -46,97 +46,89 @@
             cp.create_username AS storage_man,
             cp.create_time as storage_time
         FROM
-            clc_stock_detail csd,
             clc_medicine cm,
             clc_stock cs,
             clc_stock_inbound csi,
             clc_purchase cp,
             ins_d_medicine idm
         WHERE
-            csd.medicine_id = cm.medicine_id
-            AND csd.clinic_id = cm.clinic_id
-            AND csd.clinic_id = cs.clinic_id
-            AND csd.medicine_id = cs.medicine_id
+            csi.medicine_id = cm.medicine_id
+            AND csi.clinic_id = cm.clinic_id
+            AND csi.clinic_id = cs.clinic_id
+            AND csi.medicine_id = cs.medicine_id
             AND cs.warehouse_code = '1'
-            AND csd.clinic_id = csi.clinic_id
-            AND csd.id = csi.id
-            AND csd.clinic_id = cp.clinic_id
             AND cp.id = csi.purchase_id
-            AND csd.clinic_id = #{clinicId}
-            AND timestamp_number != 'default'
+            AND csi.clinic_id = #{clinicId}
             AND cm.is_base = 1
             and cp.purchase_no is not null
             AND idm.medicine_id = cm.medicine_id
             AND idm.clinic_id = cm.clinic_id
         GROUP BY
             cp.id,
-            csd.medicine_id
+            csi.medicine_id
         ORDER BY
             cp.create_time,
-            csd.medicine_id
+            csi.medicine_id
     </select>
 
     <!--中药采购入库记录-->
     <select id="listChinaMedicinePurchase" resultMap="BaseResultMap" parameterType="java.lang.String">
         SELECT DISTINCT
-            ccm.medicine_category as item_type,
-            IF
-            ( length( ccm.med_ins_backup_id )> 0, ccm.med_ins_backup_id, ccm.medicine_id ) AS store_medicine_code,
-            ccm.medicine_name as store_medicine_name,
-            ccm.medicine_name as store_medicine_trade_name,
-            ifnull(idm.formulation, " ") as dosage_id,
-            ccm.medicine_rate_last as dosage_name,
-            ccm.medicine_specifications AS specification,
-            ccm.medicine_manufacturer_name as manufacturer,
-            ccm.medicine_address as place,
-            idm.medicine_package AS pack,
-            " " as model,
-            ccsp.stock_batch_number as batch_no,
-            ccm.create_time as medicine_deadline,
-            ccsp.medicine_deadline as manufacture_time,
-            '0000000000000' as bar_code,
-            "" as regist_no,
-            ccsp.stock_channel as delivery_company,
-            "999999999" as distributor,
-            cp.purchase_no as store_storage_code,
-            sum( ccsp.stock_change_number ) AS storage_quantity,
-            ccsp.stock_bid AS price,
-            ccs.medicine_retail_price AS retail_price,
-            "" as plat_item_code,
-            "" as plat_item_name,
-            idm.standard_menu_code as item_code,
-            idm.insurance_medicine_name as item_name,
-            cp.create_username AS storage_man,
-            cp.create_time as storage_time
-        FROM
-            clc_china_stock_profit ccsp,
-            clc_china_medicine ccm,
-            clc_china_stock ccs,
-            clc_stock_inbound csi,
-            clc_purchase cp,
-            ins_d_medicine idm
-        WHERE
-            ccsp.medicine_id = ccm.medicine_id
-            AND ccsp.clinic_id = ccm.clinic_id
-            AND ccsp.clinic_id = ccs.clinic_id
-            AND ccsp.medicine_id = ccs.medicine_id
-            AND ccs.warehouse_code = '1'
-            AND ccsp.clinic_id = csi.clinic_id
-            AND ccsp.id = csi.id
-            AND ccsp.clinic_id = cp.clinic_id
-            AND cp.id = csi.purchase_id
-            AND ccsp.clinic_id = #{clinicId}
-            AND timestamp_number != 'default'
-            AND cp.biz_type = '1'
-            and cp.purchase_no is not null
-            AND idm.medicine_id = ccm.medicine_id
-            AND idm.clinic_id = ccm.clinic_id
-        GROUP BY
-            cp.id,
-            ccsp.medicine_id
-        ORDER BY
-            cp.create_time,
-            ccsp.medicine_id
+            IF (
+                length(ccm.med_ins_backup_id) > 0,
+                ccm.med_ins_backup_id,
+                ccm.medicine_id
+            ) AS store_medicine_code,
+             ccm.medicine_name AS store_medicine_name,
+             ccm.medicine_name AS store_medicine_trade_name,
+             ifnull(idm.formulation, " ") AS dosage_id,
+             ccm.medicine_rate_last AS dosage_name,
+             ccm.medicine_specifications AS specification,
+             ccm.medicine_manufacturer_name AS manufacturer,
+             ccm.medicine_address AS place,
+             idm.medicine_package AS pack,
+             " " AS model,
+             ccssf.stock_batch_number AS batch_no,
+             ccssf.create_time AS medicine_deadline,
+             ccssf.medicine_deadline AS manufacture_time,
+             '00000000' AS bar_code,
+             "" AS regist_no,
+             ccssf.stock_channel AS delivery_company,
+             "999999999" AS distributor,
+             cp.purchase_no AS store_storage_code,
+             sum(ccssf.stock_change_number) AS storage_quantity,
+             ccssf.stock_bid AS price,
+             cs.medicine_retail_price AS retail_price,
+             "" AS plat_item_code,
+             "" AS plat_item_name,
+             idm.standard_menu_code AS item_code,
+             idm.insurance_medicine_name AS item_name,
+             cp.create_username AS storage_man,
+             cp.create_time AS storage_time
+            FROM
+                clc_china_stock_storage_flow ccssf,
+                clc_purchase cp,
+                clc_china_medicine ccm,
+                ins_d_medicine idm,
+                clc_china_stock cs
+            WHERE
+                cp.id = ccssf.purchase_id
+                AND .cp.clinic_id = ccssf.clinic_id
+                AND ccm.medicine_id = ccssf.medicine_id
+                AND ccm.clinic_id = ccssf.clinic_id
+                AND ccm.medicine_id = idm.medicine_id
+                AND ccm.clinic_id = idm.clinic_id
+                AND cs.clinic_id = ccssf.clinic_id
+                AND cs.medicine_id = ccssf.medicine_id
+                AND ccssf.clinic_id = #{clinicId}
+                AND cs.warehouse_code = '1'
+                AND cp.purchase_no IS NOT NULL
+            GROUP BY
+                cp.id,
+                ccssf.medicine_id
+            ORDER BY
+                cp.create_time,
+                ccssf.medicine_id
     </select>
 
     <!--西药销售退回入库记录-->
@@ -154,9 +146,58 @@
 
     </select>
 
-    <!--中药盘点盘盈入库记-->
+    <!--中药盘点盘盈入库记-->
     <select id="listChinaMedicineInventory" resultMap="BaseResultMap" parameterType="java.lang.String">
-
+        SELECT DISTINCT
+            IF (
+                length(ccm.med_ins_backup_id) > 0,
+                ccm.med_ins_backup_id,
+                ccm.medicine_id
+                ) AS store_medicine_cide,
+                 ccm.medicine_name AS store_medicine_name,
+                 ccm.medicine_name AS store_medicine_trade_name,
+                 ifnull(idm.formulation, " ") AS dosage_id,
+                 ccm.medicine_rate_last AS dosage_name,
+                 ccm.medicine_specifications AS specification,
+                 ccm.medicine_manufacturer_name AS manufacturer,
+                 ccm.medicine_address AS place,
+                 idm.medicine_package AS pack,
+                 " " AS model,
+                 cid.batch_number AS batch_no,
+                 cid.stock_date AS medicine_deadline,
+                 cid.deadline_date AS manufacture_time,
+                 '00000000' AS bar_cide,
+                 "" AS regist_no,
+                 cid.medicine_manufacture AS delivery_company,
+                 "999999999" AS distributor,
+                 '' AS store_storage_cide,
+                 sum(cid.stock_num) AS return_quantity,
+                 cid.stock_price AS price,
+                 cid.sale_price AS retail_price,
+                 "" AS plat_item_cide,
+                 "" AS plat_item_name,
+                 idm.standard_menu_code AS item_cide,
+                 idm.insurance_medicine_name AS item_name,
+                 ci.create_userName AS return_man,
+                 ci.create_time AS return_time
+            FROM
+                clc_inventory_detail cid,
+                clc_china_medicine ccm,
+                clc_inventory ci ,
+                ins_d_medicine as idm
+            WHERE
+                cid.medicine_id = ccm.medicine_id
+                AND cid.clinic_id = ccm.clinic_id
+                AND cid.clinic_id = ci.clinic_id
+                AND cid.inventory_id = ci.id
+                AND ccm.medicine_id = idm.medicine_id
+                AND ccm.clinic_id = idm.clinic_id
+                AND cid.inventory_type = 1
+                AND cid.clinic_id = #{clinicId}
+                AND cid.biz_type IN ( 4 )
+            ORDER BY
+                ci.create_time,
+                cid.medicine_id
     </select>