java110-bean/src/main/java/com/java110/dto/importData/ImportResourceStoreDto.java
@@ -1,16 +1,21 @@ package com.java110.dto.importData; import com.java110.dto.purchase.PurchaseApplyDto; import lombok.Data; import java.io.Serializable; @Data public class ImportResourceStoreDto implements Serializable { private String resId; private String communityId; private String communityName; private String shId; private String resName; private String resCode; private String outLowPrice; private String outHighPrice; @@ -26,116 +31,60 @@ private String rstName; public String getCommunityId() { return communityId; } public void setCommunityId(String communityId) { this.communityId = communityId; } public String getShId() { return shId; } public void setShId(String shId) { this.shId = shId; } public String getResName() { return resName; } public void setResName(String resName) { this.resName = resName; } public String getUnitCode() { return unitCode; } public void setUnitCode(String unitCode) { this.unitCode = unitCode; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } public String getStock() { return stock; } public void setStock(String stock) { this.stock = stock; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getAmount() { return amount; } public void setAmount(String amount) { this.amount = amount; } public String getRstName() { return rstName; } public void setRstName(String rstName) { this.rstName = rstName; } private String tripleWaybillNo; private String systemName; private String model; private String brand; private String supplier; public String getResCode() { return resCode; } private String budgetApproval; // 预决算部审批 private String budgetQuantity; // 预算数量 private String budgetUnitPrice; // 预算单价1(预算部给) private String budgetAmount; // 预算金额 private String applyQuantityTotal; // 申请数量合计 private String purchaseQuantityTotal; // 采购数量合计 private String actualDeliveryQuantity; // 实际送货数量 private String payableAmountTotal; // 应付金额合计 private String paidAmountTotal; // 已付金额合计 private String unpaidAmountTotal; // 未付金额合计 private String isOccurred; // 未发生 public void setResCode(String resCode) { this.resCode = resCode; } public String getOutLowPrice() { return outLowPrice; } /** * 应付金额 */ private String payableAmount; public void setOutLowPrice(String outLowPrice) { this.outLowPrice = outLowPrice; } /** * 已付金额 */ private String paidAmount; public String getOutHighPrice() { return outHighPrice; } /** * 未付金额 */ private String unpaidAmount; public void setOutHighPrice(String outHighPrice) { this.outHighPrice = outHighPrice; } public String getWarningStock() { return warningStock; } /** * 退库数量合计(适配非数值脏数据) */ private String totalReturnQuantity; public void setWarningStock(String warningStock) { this.warningStock = warningStock; } /** * 供应商1(格式:名称|联系人|电话,适配脏数据) */ private String supplier1; public String getIsFixed() { return isFixed; } /** * 供应商2(格式:名称|联系人|电话,适配脏数据) */ private String supplier2; public void setIsFixed(String isFixed) { this.isFixed = isFixed; } /** * 供应商3(格式:名称|联系人|电话,适配脏数据) */ private String supplier3; } java110-bean/src/main/java/com/java110/dto/resource/ResourceStoreDto.java
@@ -1,6 +1,7 @@ package com.java110.dto.resource; import com.java110.dto.PageDto; import lombok.Data; import java.io.Serializable; import java.util.Date; @@ -15,6 +16,7 @@ * @Version 1.0 * add by wuxw 2019/4/24 **/ @Data public class ResourceStoreDto extends PageDto implements Serializable { //物品名称(用来做模糊查询) private String resName; @@ -81,12 +83,76 @@ private List<ResourceStoreTimesDto> times; private String tripleWaybillNo; private String systemName; private String model; private String brand; private String supplier; private String budgetApproval; // 预决算部审批 private String budgetQuantity; // 预算数量 private String budgetUnitPrice; // 预算单价1(预算部给) private String budgetAmount; // 预算金额 private String applyQuantityTotal; // 申请数量合计 private String purchaseQuantityTotal; // 采购数量合计 private String actualDeliveryQuantity; // 实际送货数量 private String payableAmountTotal; // 应付金额合计 private String paidAmountTotal; // 已付金额合计 private String unpaidAmountTotal; // 未付金额合计 private String isOccurred; // 未发生 /** * 应付金额 */ private String payableAmount; /** * 已付金额 */ private String paidAmount; /** * 未付金额 */ private String unpaidAmount; /** * 退库数量合计(适配非数值脏数据) */ private String totalReturnQuantity; /** * 供应商1(格式:名称|联系人|电话,适配脏数据) */ private String supplier1; /** * 供应商2(格式:名称|联系人|电话,适配脏数据) */ private String supplier2; /** * 供应商3(格式:名称|联系人|电话,适配脏数据) */ private String supplier3; public String getResName() { return resName; } public void setResName(String resName) { this.resName = resName; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPrice() { @@ -103,6 +169,22 @@ public void setResCode(String resCode) { this.resCode = resCode; } public String getResCodeLike() { return resCodeLike; } public void setResCodeLike(String resCodeLike) { this.resCodeLike = resCodeLike; } public String[] getResCodes() { return resCodes; } public void setResCodes(String[] resCodes) { this.resCodes = resCodes; } public String getDescription() { @@ -129,28 +211,20 @@ this.stock = stock; } public String getbId() { return bId; } public void setbId(String bId) { this.bId = bId; } public String getResId() { return resId; } public void setResId(String resId) { this.resId = resId; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getStatusCd() { return statusCd; } public void setStatusCd(String statusCd) { this.statusCd = statusCd; } public String getResOrderType() { @@ -167,6 +241,14 @@ public void setUnitCode(String unitCode) { this.unitCode = unitCode; } public String getUnitCodeName() { return unitCodeName; } public void setUnitCodeName(String unitCodeName) { this.unitCodeName = unitCodeName; } public String getRemark() { @@ -209,28 +291,12 @@ this.showMobile = showMobile; } public List<String> getFileUrls() { return fileUrls; } public void setFileUrls(List<String> fileUrls) { this.fileUrls = fileUrls; } public String getShId() { return shId; } public void setShId(String shId) { this.shId = shId; } public String getShName() { return shName; } public void setShName(String shName) { this.shName = shName; } public String getWarningStock() { @@ -249,12 +315,20 @@ this.averagePrice = averagePrice; } public String getName() { return name; public List<String> getFileUrls() { return fileUrls; } public void setName(String name) { this.name = name; public void setFileUrls(List<String> fileUrls) { this.fileUrls = fileUrls; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getRstId() { @@ -271,6 +345,22 @@ public void setRstName(String rstName) { this.rstName = rstName; } public String getStatusCd() { return statusCd; } public void setStatusCd(String statusCd) { this.statusCd = statusCd; } public String getShName() { return shName; } public void setShName(String shName) { this.shName = shName; } public String getRssId() { @@ -297,14 +387,6 @@ this.totalPrice = totalPrice; } public String getbId() { return bId; } public void setbId(String bId) { this.bId = bId; } public String getMiniUnitCode() { return miniUnitCode; } @@ -313,28 +395,20 @@ this.miniUnitCode = miniUnitCode; } public String getMiniUnitStock() { return miniUnitStock; } public void setMiniUnitStock(String miniUnitStock) { this.miniUnitStock = miniUnitStock; } public String getUnitCodeName() { return unitCodeName; } public void setUnitCodeName(String unitCodeName) { this.unitCodeName = unitCodeName; } public String getMiniUnitCodeName() { return miniUnitCodeName; } public void setMiniUnitCodeName(String miniUnitCodeName) { this.miniUnitCodeName = miniUnitCodeName; } public String getMiniUnitStock() { return miniUnitStock; } public void setMiniUnitStock(String miniUnitStock) { this.miniUnitStock = miniUnitStock; } public String getMiniStock() { @@ -385,28 +459,12 @@ this.isFixedName = isFixedName; } public List<ResourceStoreTimesDto> getTimes() { return times; public String getTimesId() { return timesId; } public void setTimes(List<ResourceStoreTimesDto> times) { this.times = times; } public String[] getResCodes() { return resCodes; } public void setResCodes(String[] resCodes) { this.resCodes = resCodes; } public String getResCodeLike() { return resCodeLike; } public void setResCodeLike(String resCodeLike) { this.resCodeLike = resCodeLike; public void setTimesId(String timesId) { this.timesId = timesId; } public String getCommunityId() { @@ -417,11 +475,195 @@ this.communityId = communityId; } public String getTimesId() { return timesId; public List<ResourceStoreTimesDto> getTimes() { return times; } public void setTimesId(String timesId) { this.timesId = timesId; public void setTimes(List<ResourceStoreTimesDto> times) { this.times = times; } public String getTripleWaybillNo() { return tripleWaybillNo; } public void setTripleWaybillNo(String tripleWaybillNo) { this.tripleWaybillNo = tripleWaybillNo; } public String getSystemName() { return systemName; } public void setSystemName(String systemName) { this.systemName = systemName; } public String getModel() { return model; } public void setModel(String model) { this.model = model; } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getSupplier() { return supplier; } public void setSupplier(String supplier) { this.supplier = supplier; } public String getBudgetApproval() { return budgetApproval; } public void setBudgetApproval(String budgetApproval) { this.budgetApproval = budgetApproval; } public String getBudgetQuantity() { return budgetQuantity; } public void setBudgetQuantity(String budgetQuantity) { this.budgetQuantity = budgetQuantity; } public String getBudgetUnitPrice() { return budgetUnitPrice; } public void setBudgetUnitPrice(String budgetUnitPrice) { this.budgetUnitPrice = budgetUnitPrice; } public String getBudgetAmount() { return budgetAmount; } public void setBudgetAmount(String budgetAmount) { this.budgetAmount = budgetAmount; } public String getApplyQuantityTotal() { return applyQuantityTotal; } public void setApplyQuantityTotal(String applyQuantityTotal) { this.applyQuantityTotal = applyQuantityTotal; } public String getPurchaseQuantityTotal() { return purchaseQuantityTotal; } public void setPurchaseQuantityTotal(String purchaseQuantityTotal) { this.purchaseQuantityTotal = purchaseQuantityTotal; } public String getActualDeliveryQuantity() { return actualDeliveryQuantity; } public void setActualDeliveryQuantity(String actualDeliveryQuantity) { this.actualDeliveryQuantity = actualDeliveryQuantity; } public String getPayableAmountTotal() { return payableAmountTotal; } public void setPayableAmountTotal(String payableAmountTotal) { this.payableAmountTotal = payableAmountTotal; } public String getPaidAmountTotal() { return paidAmountTotal; } public void setPaidAmountTotal(String paidAmountTotal) { this.paidAmountTotal = paidAmountTotal; } public String getUnpaidAmountTotal() { return unpaidAmountTotal; } public void setUnpaidAmountTotal(String unpaidAmountTotal) { this.unpaidAmountTotal = unpaidAmountTotal; } public String getIsOccurred() { return isOccurred; } public void setIsOccurred(String isOccurred) { this.isOccurred = isOccurred; } public String getPayableAmount() { return payableAmount; } public void setPayableAmount(String payableAmount) { this.payableAmount = payableAmount; } public String getPaidAmount() { return paidAmount; } public void setPaidAmount(String paidAmount) { this.paidAmount = paidAmount; } public String getUnpaidAmount() { return unpaidAmount; } public void setUnpaidAmount(String unpaidAmount) { this.unpaidAmount = unpaidAmount; } public String getTotalReturnQuantity() { return totalReturnQuantity; } public void setTotalReturnQuantity(String totalReturnQuantity) { this.totalReturnQuantity = totalReturnQuantity; } public String getSupplier1() { return supplier1; } public void setSupplier1(String supplier1) { this.supplier1 = supplier1; } public String getSupplier2() { return supplier2; } public void setSupplier2(String supplier2) { this.supplier2 = supplier2; } public String getSupplier3() { return supplier3; } public void setSupplier3(String supplier3) { this.supplier3 = supplier3; } } java110-bean/src/main/java/com/java110/po/purchase/DeliveryStorageRecord.java
New file @@ -0,0 +1,87 @@ package com.java110.po.purchase; import lombok.Data; import java.io.Serializable; /** * 送货入库出库记录表实体类 * 适配全VARCHAR字段,兼容脏数据 */ @Data public class DeliveryStorageRecord implements Serializable { private static final long serialVersionUID = 1L; public DeliveryStorageRecord(String id, String deliveryOrderNo, String deliveryQuantity, String deliveryDate, String signer, String warehousingOrderNo, String warehousingDate, String outboundOrderNo, String outboundDate, String applyOrderId) { this.id = id; this.deliveryOrderNo = deliveryOrderNo; this.deliveryQuantity = deliveryQuantity; this.deliveryDate = deliveryDate; this.signer = signer; this.warehousingOrderNo = warehousingOrderNo; this.warehousingDate = warehousingDate; this.outboundOrderNo = outboundOrderNo; this.outboundDate = outboundDate; this.applyOrderId = applyOrderId; } /** * 主键ID */ private String id; /** * 送货单号 */ private String deliveryOrderNo; /** * 送货数量(适配非数值脏数据) */ private String deliveryQuantity; /** * 送货日期(适配非标准日期) */ private String deliveryDate; /** * 签收人 */ private String signer; /** * 入库单号 */ private String warehousingOrderNo; /** * 入库日期 */ private String warehousingDate; /** * 出库单号 */ private String outboundOrderNo; /** * 出库日期 */ private String outboundDate; /** * 采购申请单ID(关联采购申请主表) */ private String applyOrderId; /** * 创建时间 */ private String createTime; /** * 更新时间 */ private String updateTime; } java110-bean/src/main/java/com/java110/po/purchase/PurchaseApplyDetailPo.java
@@ -1,5 +1,7 @@ package com.java110.po.purchase; import lombok.Data; import java.io.Serializable; /** @@ -10,6 +12,7 @@ * @Version 1.0 * add by wuxw 2020/5/29 **/ @Data public class PurchaseApplyDetailPo implements Serializable { private String applyOrderId; @@ -35,6 +38,139 @@ private String shId; private String bId; /** * 采购日期二(适配非标准日期) */ private String purchaseDate2; /** * 采购数量二(适配非数值脏数据) */ private String purchaseQuantity2; /** * 采购日期三(适配非标准日期) */ private String purchaseDate3; /** * 采购数量三(适配非数值脏数据) */ private String purchaseQuantity3; /** * 第一次累计采购量(适配非数值脏数据) */ private String firstCumulativePurchaseQuantity; /** * 采购日期(格式:YYYY-MM-DD,适配非标准日期) */ private String purchaseDate; /** * 采购金额(适配带符号/单位的脏数据,如「1000元」「¥2000.50」) */ private String purchaseAmount; /** * 采购人员(适配脏数据,如姓名/工号) // 新增采购人员字段 */ private String purchaser; /** * 合同编号 */ private String contractNo; /** * 主供应商名称 */ private String supplier; /** * 第一次累计送货量(适配非数值脏数据) // 新增字段 */ private String firstCumulativeDeliveryQuantity; /** * 送货单号 */ private String deliveryOrderNo; /** * 送货数量 */ private String deliveryQuantity; /** * 送货日期 */ private String deliveryDate; /** * 签收人 */ private String signer; // /** // * 应付金额 // */ // private String payableAmount; // // /** // * 已付金额 // */ // private String paidAmount; // // /** // * 未付金额 // */ // private String unpaidAmount; // // /** // * 本次付款金额 // */ // private String paymentAmount; // // /** // * 付款单号 // */ // private String paymentOrderNo; // // /** // * 拟付日期 // */ // private String toBePaidDate; // // /** // * 付款日期 // */ // private String paymentDate; // // /** // * 发票编号 // */ // private String invoiceNo; // // /** // * 供应商1(格式:名称|联系人|电话,适配脏数据) // */ // private String supplier1; // // /** // * 供应商2(格式:名称|联系人|电话,适配脏数据) // */ // private String supplier2; // // /** // * 供应商3(格式:名称|联系人|电话,适配脏数据) // */ // private String supplier3; public String getApplyOrderId() { return applyOrderId; @@ -76,6 +212,14 @@ this.price = price; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPurchaseQuantity() { return purchaseQuantity; } @@ -90,14 +234,6 @@ public void setPurchaseRemark(String purchaseRemark) { this.purchaseRemark = purchaseRemark; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getCreateTime() { @@ -163,4 +299,124 @@ public void setbId(String bId) { this.bId = bId; } public String getPurchaseDate2() { return purchaseDate2; } public void setPurchaseDate2(String purchaseDate2) { this.purchaseDate2 = purchaseDate2; } public String getPurchaseQuantity2() { return purchaseQuantity2; } public void setPurchaseQuantity2(String purchaseQuantity2) { this.purchaseQuantity2 = purchaseQuantity2; } public String getPurchaseDate3() { return purchaseDate3; } public void setPurchaseDate3(String purchaseDate3) { this.purchaseDate3 = purchaseDate3; } public String getPurchaseQuantity3() { return purchaseQuantity3; } public void setPurchaseQuantity3(String purchaseQuantity3) { this.purchaseQuantity3 = purchaseQuantity3; } public String getFirstCumulativePurchaseQuantity() { return firstCumulativePurchaseQuantity; } public void setFirstCumulativePurchaseQuantity(String firstCumulativePurchaseQuantity) { this.firstCumulativePurchaseQuantity = firstCumulativePurchaseQuantity; } public String getPurchaseDate() { return purchaseDate; } public void setPurchaseDate(String purchaseDate) { this.purchaseDate = purchaseDate; } public String getPurchaseAmount() { return purchaseAmount; } public void setPurchaseAmount(String purchaseAmount) { this.purchaseAmount = purchaseAmount; } public String getPurchaser() { return purchaser; } public void setPurchaser(String purchaser) { this.purchaser = purchaser; } public String getContractNo() { return contractNo; } public void setContractNo(String contractNo) { this.contractNo = contractNo; } public String getSupplier() { return supplier; } public void setSupplier(String supplier) { this.supplier = supplier; } public String getFirstCumulativeDeliveryQuantity() { return firstCumulativeDeliveryQuantity; } public void setFirstCumulativeDeliveryQuantity(String firstCumulativeDeliveryQuantity) { this.firstCumulativeDeliveryQuantity = firstCumulativeDeliveryQuantity; } public String getDeliveryOrderNo() { return deliveryOrderNo; } public void setDeliveryOrderNo(String deliveryOrderNo) { this.deliveryOrderNo = deliveryOrderNo; } public String getDeliveryQuantity() { return deliveryQuantity; } public void setDeliveryQuantity(String deliveryQuantity) { this.deliveryQuantity = deliveryQuantity; } public String getDeliveryDate() { return deliveryDate; } public void setDeliveryDate(String deliveryDate) { this.deliveryDate = deliveryDate; } public String getSigner() { return signer; } public void setSigner(String signer) { this.signer = signer; } } java110-bean/src/main/java/com/java110/po/purchase/PurchaseApplyPo.java
@@ -1,5 +1,7 @@ package com.java110.po.purchase; import lombok.Data; import java.io.Serializable; import java.util.List; @@ -11,6 +13,7 @@ * @Version 1.0 * add by wuxw 2020/5/29 **/ @Data public class PurchaseApplyPo implements Serializable { private String applyOrderId; @@ -30,154 +33,14 @@ private String createUserName; private String communityId; private String bId; private String applyNo; // 申请编号 private String applyDate; // 申请日期 private String approver; // 审批人 private String applyQuantity; private String statusCd = "0"; private ResourceStorePo[] resourceStores; List<PurchaseApplyDetailPo> purchaseApplyDetailPos; public String getApplyOrderId() { return applyOrderId; } public void setApplyOrderId(String applyOrderId) { this.applyOrderId = applyOrderId; } public String getStoreId() { return storeId; } public void setStoreId(String storeId) { this.storeId = storeId; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getResOrderType() { return resOrderType; } public void setResOrderType(String resOrderType) { this.resOrderType = resOrderType; } public String getState() { return state; } public void setState(String state) { this.state = state; } public String getEndUserName() { return endUserName; } public void setEndUserName(String endUserName) { this.endUserName = endUserName; } public String getEndUserTel() { return endUserTel; } public void setEndUserTel(String endUserTel) { this.endUserTel = endUserTel; } public ResourceStorePo[] getResourceStores() { return resourceStores; } public void setResourceStores(ResourceStorePo[] resourceStores) { this.resourceStores = resourceStores; } public List<PurchaseApplyDetailPo> getPurchaseApplyDetailPos() { return purchaseApplyDetailPos; } public void setPurchaseApplyDetailPos(List<PurchaseApplyDetailPo> purchaseApplyDetailPos) { this.purchaseApplyDetailPos = purchaseApplyDetailPos; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public String getWarehousingWay() { return warehousingWay; } public void setWarehousingWay(String warehousingWay) { this.warehousingWay = warehousingWay; } public String getCreateUserId() { return createUserId; } public void setCreateUserId(String createUserId) { this.createUserId = createUserId; } public String getCreateUserName() { return createUserName; } public void setCreateUserName(String createUserName) { this.createUserName = createUserName; } public String getStatusCd() { return statusCd; } public void setStatusCd(String statusCd) { this.statusCd = statusCd; } public String getCommunityId() { return communityId; } public void setCommunityId(String communityId) { this.communityId = communityId; } public String getbId() { return bId; } public void setbId(String bId) { this.bId = bId; } } java110-bean/src/main/java/com/java110/po/purchase/PurchasePaymentRecord.java
New file @@ -0,0 +1,77 @@ package com.java110.po.purchase; import lombok.Data; import java.io.Serializable; /** * 采购付款记录表实体类 * 适配全VARCHAR字段,兼容脏数据 */ @Data public class PurchasePaymentRecord implements Serializable { private static final long serialVersionUID = 1L; public PurchasePaymentRecord(String id ,String invoiceNo, String orderId, String paymentAmount, String paymentOrderNo, String supplier, String toBePaidDate, String paymentDate) { this.id = id; this.invoiceNo = invoiceNo; this.orderId = orderId; this.paymentAmount = paymentAmount; this.paymentOrderNo = paymentOrderNo; this.supplier = supplier; this.toBePaidDate = toBePaidDate; this.paymentDate = paymentDate; } /** * 发票编号(适配脏数据,如「未开票」「专票20260323001」) // 新增发票字段 */ private String invoiceNo; /** * 主键ID */ private String id; /** * 关联订单ID/采购申请单ID */ private String orderId; /** * 付款金额(适配带符号/单位的脏数据,如「1000元」「¥2000.50」) */ private String paymentAmount; /** * 付款单号 */ private String paymentOrderNo; /** * 供应商名称 */ private String supplier; /** * 拟付日期(适配非标准日期) */ private String toBePaidDate; /** * 付款日期(适配非标准日期) */ private String paymentDate; /** * 创建时间 */ private String createTime; /** * 更新时间 */ private String updateTime; } java110-bean/src/main/java/com/java110/po/purchase/PurchaseReturnRecord.java
New file @@ -0,0 +1,84 @@ package com.java110.po.purchase; import lombok.Data; import java.io.Serializable; /** * 采购退库记录表实体类 * 适配全VARCHAR字段,兼容脏数据 */ @Data public class PurchaseReturnRecord implements Serializable { public PurchaseReturnRecord(String id, String returnNo, String returnDate, String returnQuantity, String returnPerson, String approver, String warehousingOrderNo, String orderId) { this.id = id; this.returnNo = returnNo; this.returnDate = returnDate; this.returnQuantity = returnQuantity; this.returnPerson = returnPerson; this.approver = approver; this.warehousingOrderNo = warehousingOrderNo; this.orderId = orderId; } private static final long serialVersionUID = 1L; /** * 主键ID */ private String id; /** * 退库编号 */ private String returnNo; /** * 退库日期(适配非标准日期,如「2026.03.23」「3月23日」) */ private String returnDate; /** * 退库数量(适配非数值脏数据,如「10箱」「未统计」) */ private String returnQuantity; /** * 退库人(姓名/工号) */ private String returnPerson; /** * 审批人(姓名/工号) */ private String approver; /** * 关联入库单号 */ private String warehousingOrderNo; /** * 关联订单ID/采购申请单ID */ private String orderId; /** * 创建时间 */ private String createTime; /** * 更新时间 */ private String updateTime; // 可选:退库数量清洗方法(提取纯数字) public String cleanReturnQuantity() { if (returnQuantity == null || returnQuantity.trim().isEmpty()) { return "0"; } // 提取字符串中的数字,适配「10箱」「50+」等格式 return returnQuantity.replaceAll("[^0-9]", ""); } } java110-bean/src/main/java/com/java110/po/purchase/ResourceStorePo.java
@@ -1,5 +1,7 @@ package com.java110.po.purchase; import lombok.Data; import java.io.Serializable; import java.util.List; @@ -11,6 +13,7 @@ * @Version 1.0 * add by wuxw 2020/5/29 **/ @Data public class ResourceStorePo implements Serializable { private String resId; private String storeId; @@ -54,283 +57,60 @@ //调整类型 private String adjustmentType; //1001 无需调整物品库存 public String getResId() { return resId; } private String communityName; public void setResId(String resId) { this.resId = resId; } public String getStoreId() { return storeId; } private String tripleWaybillNo; private String systemName; private String model; private String brand; private String supplier; public void setStoreId(String storeId) { this.storeId = storeId; } public String getResName() { return resName; } private String budgetApproval; // 预决算部审批 private String budgetQuantity; // 预算数量 private String budgetUnitPrice; // 预算单价1(预算部给) private String budgetAmount; // 预算金额 private String applyQuantityTotal; // 申请数量合计 private String purchaseQuantityTotal; // 采购数量合计 private String actualDeliveryQuantity; // 实际送货数量 private String payableAmountTotal; // 应付金额合计 private String paidAmountTotal; // 已付金额合计 private String unpaidAmountTotal; // 未付金额合计 private String isOccurred; // 未发生 /** * 应付金额 */ private String payableAmount; public void setResName(String resName) { this.resName = resName; } /** * 已付金额 */ private String paidAmount; public String getResCode() { return resCode; } /** * 未付金额 */ private String unpaidAmount; public void setResCode(String resCode) { this.resCode = resCode; } public String getDescription() { return description; } /** * 退库数量合计(适配非数值脏数据) */ private String totalReturnQuantity; public void setDescription(String description) { this.description = description; } /** * 供应商1(格式:名称|联系人|电话,适配脏数据) */ private String supplier1; public String getPrice() { return price; } /** * 供应商2(格式:名称|联系人|电话,适配脏数据) */ private String supplier2; public void setPrice(String price) { this.price = price; } public String getStock() { return stock; } public void setStock(String stock) { this.stock = stock; } public String getStatusCd() { return statusCd; } public void setStatusCd(String statusCd) { this.statusCd = statusCd; } public String getUnitCode() { return unitCode; } public void setUnitCode(String unitCode) { this.unitCode = unitCode; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public String getOutLowPrice() { return outLowPrice; } public void setOutLowPrice(String outLowPrice) { this.outLowPrice = outLowPrice; } public String getOutHighPrice() { return outHighPrice; } public void setOutHighPrice(String outHighPrice) { this.outHighPrice = outHighPrice; } public String getShowMobile() { return showMobile; } public void setShowMobile(String showMobile) { this.showMobile = showMobile; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public String getbId() { return bId; } public void setbId(String bId) { this.bId = bId; } public List<String> getPhotos() { return photos; } public void setPhotos(List<String> photos) { this.photos = photos; } public List<String> getFileUrls() { return fileUrls; } public void setFileUrls(List<String> fileUrls) { this.fileUrls = fileUrls; } public String getShId() { return shId; } public void setShId(String shId) { this.shId = shId; } public String getWarningStock() { return warningStock; } public void setWarningStock(String warningStock) { this.warningStock = warningStock; } public String getAveragePrice() { return averagePrice; } public void setAveragePrice(String averagePrice) { this.averagePrice = averagePrice; } public String getPurchasePrice() { return purchasePrice; } public void setPurchasePrice(String purchasePrice) { this.purchasePrice = purchasePrice; } public String getResOrderType() { return resOrderType; } public void setResOrderType(String resOrderType) { this.resOrderType = resOrderType; } public String getRstId() { return rstId; } public void setRstId(String rstId) { this.rstId = rstId; } public String getRstName() { return rstName; } public void setRstName(String rstName) { this.rstName = rstName; } public String getRssId() { return rssId; } public void setRssId(String rssId) { this.rssId = rssId; } public String getRssName() { return rssName; } public void setRssName(String rssName) { this.rssName = rssName; } public String getMiniUnitCode() { return miniUnitCode; } public void setMiniUnitCode(String miniUnitCode) { this.miniUnitCode = miniUnitCode; } public String getMiniUnitStock() { return miniUnitStock; } public void setMiniUnitStock(String miniUnitStock) { this.miniUnitStock = miniUnitStock; } public String getOperationType() { return operationType; } public void setOperationType(String operationType) { this.operationType = operationType; } public String getMiniStock() { return miniStock; } public void setMiniStock(String miniStock) { this.miniStock = miniStock; } public String getParentRstId() { return parentRstId; } public void setParentRstId(String parentRstId) { this.parentRstId = parentRstId; } public String getIsFixed() { return isFixed; } public void setIsFixed(String isFixed) { this.isFixed = isFixed; } public String getIsFixedName() { return isFixedName; } public void setIsFixedName(String isFixedName) { this.isFixedName = isFixedName; } public String getCommunityId() { return communityId; } public void setCommunityId(String communityId) { this.communityId = communityId; } public String getAdjustmentType() { return adjustmentType; } public void setAdjustmentType(String adjustmentType) { this.adjustmentType = adjustmentType; } /** * 供应商3(格式:名称|联系人|电话,适配脏数据) */ private String supplier3; } java110-db/src/main/resources/mapper/store/DeliveryStorageRecordServiceDaoImplMapper.xml
New file @@ -0,0 +1,28 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="deliveryStorageRecordServiceDaoImpl"> <insert id="insertDeliveryStorageRecord" parameterType="Map"> INSERT INTO delivery_storage_record ( id, delivery_order_no, delivery_quantity, delivery_date, signer, warehousing_order_no, warehousing_date, outbound_order_no, outbound_date, apply_order_id, create_time, update_time ) VALUES ( #{id}, #{deliveryOrderNo}, #{deliveryQuantity}, #{deliveryDate}, #{signer}, #{warehousingOrderNo}, #{warehousingDate}, #{outboundOrderNo}, #{outboundDate}, #{applyOrderId}, #{createTime}, #{updateTime} ) </insert> <!-- 根据采购申请单ID查询记录 --> <select id="listByApplyOrderId" parameterType="Map" resultType="Map"> SELECT id, delivery_order_no, delivery_quantity, delivery_date, signer, warehousing_order_no, warehousing_date, outbound_order_no, outbound_date, apply_order_id, create_time, update_time FROM delivery_storage_record WHERE apply_order_id = #{applyOrderId} </select> </mapper> java110-db/src/main/resources/mapper/store/PurchaseApplyServiceDaoImplMapper.xml
@@ -63,9 +63,15 @@ <!-- 保存采购明细表--> <insert id="savePurchaseApplyDetailInfo" parameterType="List"> insert into purchase_apply_detail (id,rs_id,apply_order_id,res_id,quantity,remark,b_id,operate,status_cd,price,purchase_quantity,purchase_remark,original_stock,times_id,consult_price) values INSERT INTO purchase_apply_detail ( id, rs_id, apply_order_id, res_id, quantity, remark, b_id, operate, status_cd, price, purchase_quantity, purchase_remark, original_stock, times_id, consult_price, purchase_date2, purchase_quantity2, purchase_date3, purchase_quantity3, first_cumulative_purchase_quantity, purchase_date, purchase_amount, purchaser, contract_no, supplier, first_cumulative_delivery_quantity, delivery_order_no, delivery_quantity, delivery_date, signer ) VALUES <foreach collection="list" item="item" index="index" separator=","> ( #{item.id}, @@ -82,9 +88,24 @@ #{item.purchaseRemark}, #{item.originalStock}, #{item.timesId}, #{item.consultPrice} #{item.consultPrice}, #{item.purchaseDate2}, #{item.purchaseQuantity2}, #{item.purchaseDate3}, #{item.purchaseQuantity3}, #{item.firstCumulativePurchaseQuantity}, #{item.purchaseDate}, #{item.purchaseAmount}, #{item.purchaser}, #{item.contractNo}, #{item.supplier}, #{item.firstCumulativeDeliveryQuantity}, #{item.deliveryOrderNo}, #{item.deliveryQuantity}, #{item.deliveryDate}, #{item.signer} ) </foreach> </foreach>; </insert> <!-- 查询采购申请信息(Business) add by wuxw 2018-07-03 --> @@ -465,6 +486,9 @@ <if test="state !=null and state != ''"> and t.state= #{state} </if> <if test="communityId !=null and communityId != ''"> and t.community_id= #{communityId} </if> <if test="storeId !=null and storeId != ''"> and t.store_id= #{storeId} </if> @@ -502,13 +526,17 @@ <!-- 保存采购申请信息 add by wuxw 2018-07-03 --> <insert id="savePurchaseApply" parameterType="Map"> insert into purchase_apply (status_cd, res_order_type, description, apply_order_id, state, store_id, user_id, user_name, b_id, INSERT INTO purchase_apply ( status_cd, res_order_type, description, apply_order_id, state, store_id, user_id, user_name, b_id, end_user_name, end_user_tel, create_time, create_user_id, create_user_name, warehousing_way, community_id) values ('0', #{resOrderType}, #{description}, #{applyOrderId}, #{state}, #{storeId}, #{userId}, #{userName}, '-1', #{endUserName}, #{endUserTel}, #{createTime}, #{createUserId}, #{createUserName}, #{warehousingWay}, #{communityId}) create_time, create_user_id, create_user_name, warehousing_way, community_id, apply_no, apply_date, approver, apply_quantity ) VALUES ( '0', #{resOrderType}, #{description}, #{applyOrderId}, #{state}, #{storeId}, #{userId}, #{userName}, '-1', #{endUserName}, #{endUserTel}, #{createTime}, #{createUserId}, #{createUserName}, #{warehousingWay}, #{communityId}, #{applyNo}, #{applyDate}, #{approver}, #{applyQuantity} ); </insert> <!--查询下级用户id--> java110-db/src/main/resources/mapper/store/PurchasePaymentRecordServiceDaoImplMapper.xml
New file @@ -0,0 +1,25 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="purchasePaymentRecordServiceDaoImpl"> <!-- 新增采购付款记录 --> <insert id="insertPurchasePaymentRecord" parameterType="Map"> INSERT INTO purchase_payment_record ( id, order_id, payment_amount, payment_order_no, supplier, to_be_paid_date, payment_date, create_time, update_time, invoice_no ) VALUES ( #{id}, #{orderId}, #{paymentAmount}, #{paymentOrderNo}, #{supplier}, #{toBePaidDate}, #{paymentDate}, #{createTime}, #{updateTime}, #{invoiceNo} ) </insert> <!-- 根据订单ID查询付款记录 --> <select id="listByOrderId" parameterType="Map" resultType="Map"> SELECT id, order_id, payment_amount, payment_order_no, supplier, to_be_paid_date, payment_date, create_time, update_time FROM purchase_payment_record WHERE order_id = #{orderId} </select> </mapper> java110-db/src/main/resources/mapper/store/PurchaseReturnRecordServiceDaoImpl.xml
New file @@ -0,0 +1,24 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="purchaseReturnRecordServiceDaoImpl"> <insert id="insertPurchaseReturnRecord" parameterType="Map"> INSERT INTO purchase_return_record ( id, return_no, return_date, return_quantity, return_person, approver, warehousing_order_no, order_id, create_time, update_time ) VALUES ( #{id}, #{returnNo}, #{returnDate}, #{returnQuantity}, #{returnPerson}, #{approver}, #{warehousingOrderNo}, #{orderId}, #{createTime}, #{updateTime} ) </insert> <!-- 根据订单ID查询退库记录 --> <select id="listByOrderId" parameterType="Map" resultType="Map"> SELECT id, return_no, return_date, return_quantity, return_person, approver, warehousing_order_no, order_id, create_time, update_time FROM purchase_return_record WHERE order_id = #{orderId} </select> </mapper> java110-db/src/main/resources/mapper/store/ResourceStoreV1ServiceDaoImplMapper.xml
@@ -5,13 +5,31 @@ <!-- 保存物品信息信息 add by wuxw 2018-07-03 --> <insert id="saveResourceStoreInfo" parameterType="Map"> insert into resource_store(sh_id, description, remark, store_id, res_id, parent_rst_id, warning_stock, rss_id, insert into resource_store( sh_id, description, remark, store_id, res_id, parent_rst_id, warning_stock, rss_id, res_name, rst_id, out_low_price, price, mini_unit_stock, unit_code, res_code, mini_unit_code, average_price, stock, out_high_price, show_mobile, is_fixed, mini_stock,community_id) values (#{shId}, #{description}, #{remark}, #{storeId}, #{resId}, #{parentRstId}, #{warningStock}, #{rssId}, mini_stock, community_id, community_name, triple_waybill_no, system_name, model, brand, supplier, budget_approval, budget_quantity, budget_unit_price, budget_amount, apply_quantity_total, purchase_quantity_total, actual_delivery_quantity, payable_amount_total, paid_amount_total, unpaid_amount_total, is_occurred, -- 新增字段(按你提供的顺序补充) payable_amount, paid_amount, unpaid_amount, total_return_quantity, supplier1, supplier2, supplier3, rst_name ) values ( #{shId}, #{description}, #{remark}, #{storeId}, #{resId}, #{parentRstId}, #{warningStock}, #{rssId}, #{resName}, #{rstId}, #{outLowPrice}, #{price}, #{miniUnitStock}, #{unitCode}, #{resCode}, #{miniUnitCode}, #{averagePrice}, #{stock}, #{outHighPrice}, #{showMobile}, #{isFixed}, #{miniStock},#{communityId}) #{miniUnitCode}, #{averagePrice}, #{stock}, #{outHighPrice}, #{showMobile}, #{isFixed}, #{miniStock}, #{communityId}, #{communityName}, #{tripleWaybillNo}, #{systemName}, #{model}, #{brand}, #{supplier}, #{budgetApproval}, #{budgetQuantity}, #{budgetUnitPrice}, #{budgetAmount}, #{applyQuantityTotal}, #{purchaseQuantityTotal}, #{actualDeliveryQuantity}, #{payableAmountTotal}, #{paidAmountTotal}, #{unpaidAmountTotal}, #{isOccurred}, #{payableAmount}, #{paidAmount}, #{unpaidAmount}, #{totalReturnQuantity}, #{supplier1}, #{supplier2}, #{supplier3}, #{rstName} ); </insert> <!-- 查询物品信息信息 add by wuxw 2018-07-03 --> service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java
@@ -88,8 +88,14 @@ private void getPropertyWhiteListFlowDtos(Workbook workbook, List<PropertyWhiteListFlowDto> whiteLists) { Sheet sheet = null; List<Object[]> oList; try { sheet = ImportExcelUtils.getSheet(workbook, "白单流水 导入新模板"); List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet); oList = ImportExcelUtils.listFromSheet(sheet); } catch (IllegalArgumentException e) { sheet = ImportExcelUtils.getSheet(workbook, "Sheet1"); oList = ImportExcelUtils.listFromSheet(sheet); } PropertyWhiteListFlowDto white = null; List<Map<String, Object>> maps = BeanConvertUtil.beanCovertMapListC(communityInnerServiceSMOImpl.queryCommunitys(new CommunityDto())); for (int osIndex = 0; osIndex < oList.size(); osIndex++) { service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportResourceStoreSMOImpl.java
@@ -30,7 +30,7 @@ import java.util.Date; import java.util.List; @Service("importResourceStoreSMOImpl") //@Service("importResourceStoreSMOImpl") public class ImportResourceStoreSMOImpl extends DefaultAbstractComponentSMO implements IImportResourceStoreSMO { private final static Logger logger = LoggerFactory.getLogger(ImportResourceStoreSMOImpl.class); service-api/src/main/java/com/java110/api/smo/assetImport/impl/ImportResourceStoreV2SMOImpl.java
New file @@ -0,0 +1,516 @@ package com.java110.api.smo.assetImport.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.java110.api.smo.DefaultAbstractComponentSMO; import com.java110.api.smo.assetImport.IImportResourceStoreSMO; import com.java110.core.context.IPageData; import com.java110.core.factory.GenerateCodeFactory; import com.java110.core.log.LoggerFactory; import com.java110.dto.importData.ImportOwnerRoomDto; import com.java110.dto.importData.ImportResourceStoreDto; import com.java110.dto.importData.Vtil; import com.java110.dto.purchase.PurchaseApplyDto; import com.java110.dto.resource.ResourceStoreTypeDto; import com.java110.dto.store.StorehouseDto; import com.java110.dto.system.ComponentValidateResult; import com.java110.intf.community.IImportOwnerRoomInnerServiceSMO; import com.java110.intf.store.IPurchaseApplyDetailInnerServiceSMO; import com.java110.intf.store.IPurchaseApplyInnerServiceSMO; import com.java110.intf.store.IResourceStoreTypeInnerServiceSMO; import com.java110.intf.store.IStorehouseV1InnerServiceSMO; import com.java110.po.purchase.*; import com.java110.po.resource.ResourceStoreTypePo; import com.java110.po.store.StorehousePo; import com.java110.utils.exception.CmdException; import com.java110.utils.util.Assert; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.ImportExcelUtils; import com.java110.utils.util.StringUtil; import com.java110.vo.ResultVo; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.mybatis.spring.SqlSessionTemplate; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; import java.text.ParseException; import java.util.*; @Service("importResourceStoreSMOImpl") public class ImportResourceStoreV2SMOImpl extends DefaultAbstractComponentSMO implements IImportResourceStoreSMO { private final static Logger logger = LoggerFactory.getLogger(ImportResourceStoreV2SMOImpl.class); public static final int DEFAULT_ROWS = 500; @Autowired private RestTemplate restTemplate; @Autowired private IImportOwnerRoomInnerServiceSMO importOwnerRoomInnerServiceSMOImpl; @Autowired private IStorehouseV1InnerServiceSMO storehouseV1InnerServiceSMOImpl; @Autowired private IResourceStoreTypeInnerServiceSMO resourceStoreTypeInnerServiceSMOImpl; @Autowired private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl; @Autowired private SqlSessionTemplate sqlSessionTemplate; public static final String CODE_PREFIX_ID = "10"; @Override public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception { try { ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate); //InputStream is = uploadFile.getInputStream(); Workbook workbook = ImportExcelUtils.createWorkbook(uploadFile); //工作簿 List<ImportResourceStoreDto> resourceStoreDtos = new ArrayList<ImportResourceStoreDto>(); //封装对象 getResourceStores(workbook, resourceStoreDtos, result); // 保存数据 return dealExcelData(pd, resourceStoreDtos, result); } catch (Exception e) { logger.error("导入失败 ", e); return new ResponseEntity<String>("非常抱歉,您填写的模板数据有误:" + e.getMessage(), HttpStatus.BAD_REQUEST); } } /** * 获取业主车辆信息 * * @param workbook * @param resourceStoreDtos */ private void getResourceStores(Workbook workbook, List<ImportResourceStoreDto> resourceStoreDtos, ComponentValidateResult result) throws ParseException { Sheet sheet = null; sheet = ImportExcelUtils.getSheet(workbook, "客服-零星维修采购"); List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet); ImportResourceStoreDto resourceStoreDto = null; for (int osIndex = 0; osIndex < oList.size(); osIndex++) { Object[] os = oList.get(osIndex); if (osIndex == 0 || osIndex == 1) { // 第一行是 头部信息 直接跳过 continue; } if (os == null || StringUtil.isNullOrNone(os[0])) { continue; } resourceStoreDto = new ImportResourceStoreDto(); resourceStoreDto.setWarningStock("0"); resourceStoreDto.setIsFixed("Y"); resourceStoreDto.setResId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_resId)); try { resourceStoreDto.setCommunityId(result.getCommunityId()); resourceStoreDto.setResCode(Vtil.defaultValue(os[1])); resourceStoreDto.setTripleWaybillNo(Vtil.defaultValue(os[2])); resourceStoreDto.setCommunityName(Vtil.defaultValue(os[3])); resourceStoreDto.setRstName(Vtil.defaultValue(os[4], "未分类")); resourceStoreDto.setSystemName(Vtil.defaultValue(os[5])); resourceStoreDto.setResName(Vtil.defaultValue(os[6], "空")); resourceStoreDto.setModel(Vtil.defaultValue(os[7])); resourceStoreDto.setBrand(Vtil.defaultValue(os[8])); resourceStoreDto.setSupplier(Vtil.defaultValue(os[9])); resourceStoreDto.setUnitCode(Vtil.defaultValue(os[10])); resourceStoreDto.setBudgetApproval(Vtil.defaultValue(os[11])); resourceStoreDto.setStock(Vtil.defaultValue(os[12])); resourceStoreDto.setBudgetQuantity(Vtil.defaultValue(os[12])); resourceStoreDto.setPrice(Vtil.defaultValue(os[13])); resourceStoreDto.setBudgetUnitPrice(Vtil.defaultValue(os[13])); resourceStoreDto.setBudgetAmount(Vtil.defaultValue(os[14])); resourceStoreDto.setApplyQuantityTotal(Vtil.defaultValue(os[15])); resourceStoreDto.setPurchaseQuantityTotal(Vtil.defaultValue(os[16])); resourceStoreDto.setActualDeliveryQuantity(Vtil.defaultValue(os[17])); resourceStoreDto.setPayableAmountTotal(Vtil.defaultValue(os[18])); resourceStoreDto.setPaidAmountTotal(Vtil.defaultValue(os[19])); resourceStoreDto.setUnpaidAmountTotal(Vtil.defaultValue(os[20])); resourceStoreDto.setIsOccurred(Vtil.defaultValue(os[21])); List<DeliveryStorageRecord> deliveryStorageRecords = new ArrayList<>(); if (true) { PurchaseApplyPo purchaseApplyPo = new PurchaseApplyPo(); purchaseApplyPo.setApplyOrderId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId)); purchaseApplyPo.setApplyNo(Vtil.defaultValue(os[22])); purchaseApplyPo.setApplyDate(Vtil.defaultValue(os[23])); purchaseApplyPo.setApplyQuantity(Vtil.defaultValue(os[24])); purchaseApplyPo.setUserName(Vtil.defaultValue(os[25])); purchaseApplyPo.setApprover(Vtil.defaultValue(os[26])); purchaseApplyPo.setResOrderType("10000"); purchaseApplyPo.setStoreId(result.getStoreId()); purchaseApplyPo.setCreateUserId(result.getUserId()); purchaseApplyPo.setCreateUserName(result.getUserName()); purchaseApplyPo.setEndUserName(result.getUserName()); purchaseApplyPo.setDescription("导入内容"); purchaseApplyPo.setWarehousingWay("10000"); purchaseApplyInnerServiceSMOImpl.savePurchaseApply(purchaseApplyPo); PurchaseApplyDetailPo purchaseApplyDetailPo = new PurchaseApplyDetailPo(); purchaseApplyDetailPo.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId)); purchaseApplyDetailPo.setResId(resourceStoreDto.getResId()); purchaseApplyDetailPo.setFirstCumulativePurchaseQuantity(Vtil.defaultValue(os[27])); purchaseApplyDetailPo.setPurchaseDate(Vtil.defaultValue(os[28])); purchaseApplyDetailPo.setPurchaseQuantity(Vtil.defaultValue(os[29])); purchaseApplyDetailPo.setQuantity(Vtil.defaultValue(os[29],"0")); purchaseApplyDetailPo.setPrice(Vtil.defaultValue(os[30])); purchaseApplyDetailPo.setConsultPrice(Vtil.defaultValue(os[30])); purchaseApplyDetailPo.setPurchaseAmount(Vtil.defaultValue(os[31])); purchaseApplyDetailPo.setPurchaser(Vtil.defaultValue(os[32])); purchaseApplyDetailPo.setContractNo(Vtil.defaultValue(os[33])); purchaseApplyDetailPo.setSupplier(Vtil.defaultValue(os[34])); purchaseApplyDetailPo.setFirstCumulativeDeliveryQuantity(Vtil.defaultValue(os[35])); purchaseApplyDetailPo.setApplyOrderId(purchaseApplyPo.getApplyOrderId()); List<PurchaseApplyDetailPo> list = new ArrayList<>(); list.add(purchaseApplyDetailPo); Map<String, Object> paramMap = new HashMap<>(); paramMap.put("list", list); // 3. 执行插入(SQL 保留原有 <foreach> 语法不变) sqlSessionTemplate.insert("purchaseApplyServiceDaoImpl.savePurchaseApplyDetailInfo", paramMap); sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[36]), Vtil.defaultValue(os[37]), Vtil.defaultValue(os[38]), Vtil.defaultValue(os[39]), Vtil.defaultValue(os[40]), Vtil.defaultValue(os[41]), Vtil.defaultValue(os[42]), Vtil.defaultValue(os[43]), purchaseApplyDetailPo.getApplyOrderId()))); sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[44]), Vtil.defaultValue(os[45]), Vtil.defaultValue(os[46]), Vtil.defaultValue(os[47]), Vtil.defaultValue(os[48]), Vtil.defaultValue(os[49]), Vtil.defaultValue(os[50]), Vtil.defaultValue(os[51]), purchaseApplyDetailPo.getApplyOrderId()))); sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[52]), Vtil.defaultValue(os[53]), Vtil.defaultValue(os[54]), Vtil.defaultValue(os[55]), Vtil.defaultValue(os[56]), Vtil.defaultValue(os[57]), Vtil.defaultValue(os[58]), Vtil.defaultValue(os[59]), purchaseApplyDetailPo.getApplyOrderId()))); } if (true) { PurchaseApplyPo purchaseApplyPo = new PurchaseApplyPo(); purchaseApplyPo.setApplyOrderId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId)); purchaseApplyPo.setApplyNo(Vtil.defaultValue(os[60])); purchaseApplyPo.setApplyDate(Vtil.defaultValue(os[61])); purchaseApplyPo.setApplyQuantity(Vtil.defaultValue(os[62])); purchaseApplyPo.setUserName(Vtil.defaultValue(os[63])); purchaseApplyPo.setApprover(Vtil.defaultValue(os[64])); purchaseApplyPo.setResOrderType("10000"); purchaseApplyPo.setStoreId(result.getStoreId()); purchaseApplyPo.setCreateUserId(result.getUserId()); purchaseApplyPo.setCreateUserName(result.getUserName()); purchaseApplyPo.setEndUserName(result.getUserName()); purchaseApplyPo.setDescription("导入内容"); purchaseApplyPo.setWarehousingWay("10000"); purchaseApplyInnerServiceSMOImpl.savePurchaseApply(purchaseApplyPo); PurchaseApplyDetailPo purchaseApplyDetailPo = new PurchaseApplyDetailPo(); purchaseApplyDetailPo.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId)); purchaseApplyDetailPo.setResId(resourceStoreDto.getResId()); purchaseApplyDetailPo.setFirstCumulativePurchaseQuantity(Vtil.defaultValue(os[65])); purchaseApplyDetailPo.setQuantity(Vtil.defaultValue(os[29],"0")); purchaseApplyDetailPo.setPurchaseDate(Vtil.defaultValue(os[66])); purchaseApplyDetailPo.setPurchaseQuantity(Vtil.defaultValue(os[67])); purchaseApplyDetailPo.setPurchaseDate2(Vtil.defaultValue(os[68])); purchaseApplyDetailPo.setPurchaseQuantity2(Vtil.defaultValue(os[69])); purchaseApplyDetailPo.setPurchaseDate3(Vtil.defaultValue(os[70])); purchaseApplyDetailPo.setPurchaseQuantity3(Vtil.defaultValue(os[71])); purchaseApplyDetailPo.setPrice(Vtil.defaultValue(os[72])); purchaseApplyDetailPo.setConsultPrice(Vtil.defaultValue(os[72])); purchaseApplyDetailPo.setPurchaseAmount(Vtil.defaultValue(os[73])); purchaseApplyDetailPo.setPurchaser(Vtil.defaultValue(os[74])); purchaseApplyDetailPo.setContractNo(Vtil.defaultValue(os[75])); purchaseApplyDetailPo.setSupplier(Vtil.defaultValue(os[76])); purchaseApplyDetailPo.setFirstCumulativeDeliveryQuantity(Vtil.defaultValue(os[77])); purchaseApplyDetailPo.setApplyOrderId(purchaseApplyPo.getApplyOrderId()); List<PurchaseApplyDetailPo> list = new ArrayList<>(); list.add(purchaseApplyDetailPo); Map<String, Object> paramMap = new HashMap<>(); paramMap.put("list", list); // 3. 执行插入(SQL 保留原有 <foreach> 语法不变) sqlSessionTemplate.insert("purchaseApplyServiceDaoImpl.savePurchaseApplyDetailInfo", paramMap); sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[78]), Vtil.defaultValue(os[79]), Vtil.defaultValue(os[80]), Vtil.defaultValue(os[81]), Vtil.defaultValue(os[82]), Vtil.defaultValue(os[83]), Vtil.defaultValue(os[84]), Vtil.defaultValue(os[85]), purchaseApplyDetailPo.getApplyOrderId()))); sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[86]), Vtil.defaultValue(os[87]), Vtil.defaultValue(os[88]), Vtil.defaultValue(os[89]), Vtil.defaultValue(os[90]), Vtil.defaultValue(os[91]), Vtil.defaultValue(os[92]), Vtil.defaultValue(os[93]), purchaseApplyDetailPo.getApplyOrderId()))); sqlSessionTemplate.insert("deliveryStorageRecordServiceDaoImpl.insertDeliveryStorageRecord", BeanConvertUtil.beanCovertMap(new DeliveryStorageRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[94]), Vtil.defaultValue(os[95]), Vtil.defaultValue(os[96]), Vtil.defaultValue(os[97]), Vtil.defaultValue(os[98]), Vtil.defaultValue(os[99]), Vtil.defaultValue(os[100]), Vtil.defaultValue(os[101]), purchaseApplyDetailPo.getApplyOrderId()))); } resourceStoreDto.setPayableAmount(Vtil.defaultValue(os[102])); resourceStoreDto.setPaidAmount(Vtil.defaultValue(os[103])); resourceStoreDto.setUnpaidAmount(Vtil.defaultValue(os[104])); sqlSessionTemplate.insert("purchasePaymentRecordServiceDaoImpl.insertPurchasePaymentRecord", BeanConvertUtil.beanCovertMap(new PurchasePaymentRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[110]), resourceStoreDto.getResId(), Vtil.defaultValue(os[105]), Vtil.defaultValue(os[106]), Vtil.defaultValue(os[107]), Vtil.defaultValue(os[108]), Vtil.defaultValue(os[109]) ))); sqlSessionTemplate.insert("purchasePaymentRecordServiceDaoImpl.insertPurchasePaymentRecord", BeanConvertUtil.beanCovertMap(new PurchasePaymentRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), null, resourceStoreDto.getResId(), Vtil.defaultValue(os[111]), Vtil.defaultValue(os[112]), Vtil.defaultValue(os[113]), Vtil.defaultValue(os[114]), Vtil.defaultValue(os[115]) ))); sqlSessionTemplate.insert("purchaseReturnRecordServiceDaoImpl.insertPurchaseReturnRecord", BeanConvertUtil.beanCovertMap(new PurchaseReturnRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[117]), Vtil.defaultValue(os[118]), Vtil.defaultValue(os[119]), Vtil.defaultValue(os[120]), Vtil.defaultValue(os[121]), Vtil.defaultValue(os[122]), resourceStoreDto.getResId() ))); sqlSessionTemplate.insert("purchaseReturnRecordServiceDaoImpl.insertPurchaseReturnRecord", BeanConvertUtil.beanCovertMap(new PurchaseReturnRecord(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyOrderId), Vtil.defaultValue(os[123]), Vtil.defaultValue(os[124]), Vtil.defaultValue(os[125]), Vtil.defaultValue(os[126]), Vtil.defaultValue(os[127]), Vtil.defaultValue(os[128]), resourceStoreDto.getResId() ))); resourceStoreDto.setTotalReturnQuantity(Vtil.defaultValue(os[116])); resourceStoreDto.setSupplier1(Vtil.defaultValue(os[129])); resourceStoreDto.setSupplier2(Vtil.defaultValue(os[130])); resourceStoreDto.setSupplier3(Vtil.defaultValue(os[131])); } catch (ArrayIndexOutOfBoundsException e) { //下标溢出不影响 } // resourceStoreDto.setOutLowPrice(os[6].toString()); // resourceStoreDto.setOutHighPrice(os[7].toString()); resourceStoreDtos.add(resourceStoreDto); try { Thread.sleep(200); } catch (InterruptedException e) { } } } /** * 处理房产信息 */ private ResponseEntity<String> dealExcelData(IPageData pd, List<ImportResourceStoreDto> resourceStoreDtos, ComponentValidateResult result) { ResponseEntity<String> responseEntity = null; List<ImportResourceStoreDto> tmpImportResourceStoreDtos = new ArrayList<>(); int flag = 0; JSONObject paramIn = JSONObject.parseObject(pd.getReqData()); int successCount = 0; JSONObject data = new JSONObject(); data.put("userId", result.getUserId()); data.put("userName", result.getUserName()); data.put("storeId", result.getStoreId()); data.put("communityId", result.getCommunityId()); data.put("shId", paramIn.getString("shId")); // data.put("shName", "系统仓库"); // Map<String, String> com = new HashMap<>(); // Map<String, String> rst = new HashMap<>(); try { for (int roomIndex = 0; roomIndex < resourceStoreDtos.size(); roomIndex++) { String shId = null; // //第一步:仓库 // try { // if (com.containsKey(result.getCommunityId())) {//判断仓库是否存在 // shId = com.get(result.getCommunityId());//缓存中存在直接拿缓存的仓库编号 // } else { // StorehouseDto storehouseDto = new StorehouseDto(); // // storehouseDto.setCommunityId(result.getCommunityId()); // storehouseDto.setShName(data.getString("shName")); // // int i = storehouseV1InnerServiceSMOImpl.queryStorehousesCount(storehouseDto); // // if (i > 0) {//数据库中存在直接拿系统中的仓库编号,并存入缓存 // List<StorehouseDto> storehouseDtos = storehouseV1InnerServiceSMOImpl.queryStorehouses(storehouseDto); // com.put(result.getCommunityId(), storehouseDtos.get(0).getShId()); // } else {//数据库没有,创建 // shId = GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID); // StorehousePo storehousePo = new StorehousePo(); // // storehousePo.setShId(shId); // storehousePo.setCommunityId(result.getCommunityId()); // storehousePo.setShName(data.getString("shName")); // storehousePo.setAllocationSwitch("OFF"); // storehousePo.setAllowPurchase("ON"); // storehousePo.setAllowUse("ON"); // storehousePo.setIsShow("true"); // storehousePo.setPurchaseSwitch("OFF"); // storehousePo.setShDesc(data.getString("shName")); // storehousePo.setUseSwitch("OFF"); // // flag = storehouseV1InnerServiceSMOImpl.saveStorehouse(storehousePo); // // if (flag < 1) { // throw new CmdException("保存数据失败"); // } // } // } // } catch (Exception e) { // throw new IllegalArgumentException("创建仓库失败"); // } //// //// //一级分类 //// try { //// ResourceStoreTypeDto rstDto = new ResourceStoreTypeDto(); //// rstDto.setName(resourceStoreDtos.get(roomIndex).getRstName()); //// int i = resourceStoreTypeInnerServiceSMOImpl.queryResourceStoreTypesCount(rstDto); //// //// if (i > 0) { //// ResourceStoreTypeDto resourceStoreTypeDto = resourceStoreTypeInnerServiceSMOImpl.queryResourceStoreTypes(rstDto).get(0); //// //// } //// //// } catch (Exception e) { //// throw new IllegalArgumentException("创建一级分类失败"); //// } resourceStoreDtos.get(roomIndex).setShId(shId); tmpImportResourceStoreDtos.add(resourceStoreDtos.get(roomIndex)); if (tmpImportResourceStoreDtos.size() > DEFAULT_ROWS) { flag = saveResourceStore(pd, tmpImportResourceStoreDtos, data); tmpImportResourceStoreDtos = new ArrayList<>(); successCount += flag; } } if (tmpImportResourceStoreDtos.size() > 0) { flag = saveResourceStore(pd, tmpImportResourceStoreDtos, data); successCount += flag; } } catch (Exception e) { logger.error("导入失败", e); //按批次做撤销功能 throw e; } return ResultVo.createResponseEntity("总共导入:" + tmpImportResourceStoreDtos.size() + ";成功导入:" + successCount + ";导入失败:" + (tmpImportResourceStoreDtos.size() - successCount)); } /** * 创建费用 * * @param pd * @param tmpImportResourceStoreDtos */ private int saveResourceStore(IPageData pd, List<ImportResourceStoreDto> tmpImportResourceStoreDtos, JSONObject data) { JSONArray importRoomFees = JSONArray.parseArray(JSONObject.toJSONString(tmpImportResourceStoreDtos)); data.put("importResourceStoreDtos", importRoomFees); String apiUrl = "resourceStore.importResourceStore"; ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, data.toJSONString(), apiUrl, HttpMethod.POST); if (responseEntity.getStatusCode() != HttpStatus.OK) { throw new IllegalArgumentException(responseEntity.getBody()); } JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody()); if (ResultVo.CODE_OK != paramOut.getInteger("code")) { throw new IllegalArgumentException(paramOut.getString("msg")); } return paramOut.getIntValue("data"); } //解析Excel日期格式 public static Date DoubleToDate(Double dVal) { Date tDate = new Date(); long localOffset = tDate.getTimezoneOffset() * 60000; //系统时区偏移 1900/1/1 到 1970/1/1 的 25569 天 tDate.setTime((long) ((dVal - 25569) * 24 * 3600 * 1000 + localOffset)); return tDate; } } service-store/src/main/java/com/java110/store/cmd/resourceStore/ImportResourceStoreCmd.java
@@ -151,14 +151,47 @@ resourceStorePo.setRstId(getRstId(importResourceStoreDto.getRstName(), storeId)); resourceStorePo.setParentRstId(resourceStorePo.getRstId()); resourceStorePo.setPrice(importResourceStoreDto.getPrice()); resourceStorePo.setUnitCode(getUnitCode(importResourceStoreDto.getUnitCode(), dictDtos)); resourceStorePo.setUnitCode(importResourceStoreDto.getUnitCode()); resourceStorePo.setRemark(importResourceStoreDto.getRemark()); resourceStorePo.setWarningStock(importResourceStoreDto.getWarningStock()); resourceStorePo.setAveragePrice(importResourceStoreDto.getPrice()); resourceStorePo.setCommunityId(reqJson.getString("communityId")); resourceStorePo.setCommunityName(importResourceStoreDto.getCommunityName()); resourceStorePo.setTripleWaybillNo(importResourceStoreDto.getTripleWaybillNo()); resourceStorePo.setSystemName(importResourceStoreDto.getSystemName()); resourceStorePo.setModel(importResourceStoreDto.getModel()); resourceStorePo.setBrand(importResourceStoreDto.getBrand()); resourceStorePo.setSupplier(importResourceStoreDto.getSupplier()); resourceStorePo.setRstName(importResourceStoreDto.getRstName()); // 预决算相关字段赋值 resourceStorePo.setBudgetApproval(importResourceStoreDto.getBudgetApproval()); resourceStorePo.setBudgetQuantity(importResourceStoreDto.getBudgetQuantity()); resourceStorePo.setBudgetUnitPrice(importResourceStoreDto.getBudgetUnitPrice()); resourceStorePo.setBudgetAmount(importResourceStoreDto.getBudgetAmount()); // 数量相关字段赋值 resourceStorePo.setApplyQuantityTotal(importResourceStoreDto.getApplyQuantityTotal()); resourceStorePo.setPurchaseQuantityTotal(importResourceStoreDto.getPurchaseQuantityTotal()); resourceStorePo.setActualDeliveryQuantity(importResourceStoreDto.getActualDeliveryQuantity()); resourceStorePo.setTotalReturnQuantity(importResourceStoreDto.getTotalReturnQuantity()); // 金额相关字段赋值 resourceStorePo.setPayableAmountTotal(importResourceStoreDto.getPayableAmountTotal()); resourceStorePo.setPaidAmountTotal(importResourceStoreDto.getPaidAmountTotal()); resourceStorePo.setUnpaidAmountTotal(importResourceStoreDto.getUnpaidAmountTotal()); resourceStorePo.setPayableAmount(importResourceStoreDto.getPayableAmount()); resourceStorePo.setPaidAmount(importResourceStoreDto.getPaidAmount()); resourceStorePo.setUnpaidAmount(importResourceStoreDto.getUnpaidAmount()); // 其他特殊字段赋值 resourceStorePo.setIsOccurred(importResourceStoreDto.getIsOccurred()); resourceStorePo.setSupplier1(importResourceStoreDto.getSupplier1()); resourceStorePo.setSupplier2(importResourceStoreDto.getSupplier2()); resourceStorePo.setSupplier3(importResourceStoreDto.getSupplier3()); int flag = 0; if (ListUtil.isNull(resourceStoreDtos)) { resourceStorePo.setResId(GenerateCodeFactory.getResId(GenerateCodeFactory.CODE_PREFIX_resId)); resourceStorePo.setResId(resourceStoreDto.getResId() == null ? GenerateCodeFactory.getResId(GenerateCodeFactory.CODE_PREFIX_resId) : resourceStoreDto.getResId()); flag = resourceStoreV1InnerServiceSMOImpl.saveResourceStore(resourceStorePo); service-store/src/main/java/com/java110/store/cmd/resourceStore/ListResourceStoresCmd.java
@@ -240,12 +240,12 @@ if (resourceStoreTimesDtos == null || resourceStoreTimesDtos.size() < 1) { continue; } for (ResourceStoreTimesDto resourceStoreTimesDto : resourceStoreTimesDtos) { stock = stock.add(new BigDecimal(resourceStoreTimesDto.getStock())).setScale(2, BigDecimal.ROUND_HALF_EVEN); totalPrice = totalPrice.add(new BigDecimal(resourceStoreTimesDto.getTotalPrice())).setScale(2, BigDecimal.ROUND_HALF_EVEN); } resourceStore.setStock(stock.doubleValue() + ""); resourceStore.setTotalPrice(totalPrice.doubleValue() + ""); // for (ResourceStoreTimesDto resourceStoreTimesDto : resourceStoreTimesDtos) { // stock = stock.add(new BigDecimal(resourceStoreTimesDto.getStock())).setScale(2, BigDecimal.ROUND_HALF_EVEN); // totalPrice = totalPrice.add(new BigDecimal(resourceStoreTimesDto.getTotalPrice())).setScale(2, BigDecimal.ROUND_HALF_EVEN); // } // resourceStore.setStock(stock.doubleValue() + ""); // resourceStore.setTotalPrice(totalPrice.doubleValue() + ""); } } } service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java
@@ -12,6 +12,7 @@ import com.java110.po.purchase.PurchaseApplyPo; import com.java110.store.dao.IPurchaseApplyServiceDao; import com.java110.utils.util.BeanConvertUtil; import com.java110.utils.util.DateUtil; import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; @@ -41,19 +42,24 @@ @Override public int savePurchaseApply(@RequestBody PurchaseApplyPo purchaseApplyPo) { List<PurchaseApplyDetailPo> purchaseApplyDetailPos = purchaseApplyPo.getPurchaseApplyDetailPos(); for (PurchaseApplyDetailPo purchaseApplyDetailPo : purchaseApplyDetailPos) { purchaseApplyDetailPo.setApplyOrderId(purchaseApplyPo.getApplyOrderId()); purchaseApplyPo.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); if (purchaseApplyPo.getState() == null) { purchaseApplyPo.setState("1"); } List<PurchaseApplyDetailPo> purchaseApplyDetailPos = purchaseApplyPo.getPurchaseApplyDetailPos(); int saveFlag = purchaseApplyServiceDaoImpl.savePurchaseApply(BeanConvertUtil.beanCovertMap(purchaseApplyPo)); if (saveFlag < 1) { return saveFlag; } if (purchaseApplyDetailPos == null) { return 0; } for (PurchaseApplyDetailPo purchaseApplyDetailPo : purchaseApplyDetailPos) { purchaseApplyDetailPo.setApplyOrderId(purchaseApplyPo.getApplyOrderId()); } //保存订单明细 saveFlag = purchaseApplyServiceDaoImpl.savePurchaseApplyDetailInfo(purchaseApplyDetailPos); return saveFlag;