igds-core/src/main/java/com/ld/igds/common/dto/DepotParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
igds-core/src/main/java/com/ld/igds/common/impl/CommonDataServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
igds-core/src/main/java/com/ld/igds/models/SecCamera.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
igds-core/src/main/java/models/igds.model.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
igds-core/src/main/resources/mapper/CommonMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
igds-inout/src/main/java/com/ld/igds/timer/DepotStoreScheduled.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
igds-recir/src/main/java/com/ld/igds/models/DrugLogApply.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
igds-core/src/main/java/com/ld/igds/common/dto/DepotParam.java
@@ -23,6 +23,9 @@ @PropertyDef(label = "æå±ä»åº", description = "ä»åºç¼å·") private String depotId; @PropertyDef(label = "ä»åºç¶æ", description = "ä»åºç¶æ") private String depotStatus; private Double weight;//ééä¿¡æ¯ï¼åä½éè¦è°æ´ä¸ºå¨ } igds-core/src/main/java/com/ld/igds/common/impl/CommonDataServiceImpl.java
@@ -330,6 +330,7 @@ param.setCompanyId(store.getCompanyId()); param.setDepotId(store.getDepotId()); param.setWeight(store.getStorageReal()); param.setDepotStatus(store.getDepotStatus()); commonMapper.updateDepotStorage(param); } igds-core/src/main/java/com/ld/igds/models/SecCamera.java
@@ -5,6 +5,7 @@ import lombok.Data; import javax.persistence.*; import java.io.Serializable; import java.util.Date; /** * å®é²è§é¢çæ§è®¾å¤ @@ -106,6 +107,10 @@ @PropertyDef(label = "ç管èªå¨ææ") private String snapTag = Constant.YN_N; @Column(name = "UPDATE_TIME_", length = 1) @PropertyDef(label = "æ´æ°æ¶é´") private Date updateTime; public int getChanNum() { return chanNum; } igds-core/src/main/java/models/igds.model.xml
@@ -344,6 +344,42 @@ <PropertyDef name="country"> <Property></Property> <Property name="label">å½å«</Property> <Property name="mapping"> <Property name="keyProperty">key</Property> <Property name="valueProperty">value</Property> <Property name="mapValues"> <Collection> <Entity> <Property name="key">156</Property> <Property name="value">ä¸å½</Property> </Entity> <Entity> <Property name="key">076</Property> <Property name="value">巴西</Property> </Entity> <Entity> <Property name="key">124</Property> <Property name="value">å æ¿å¤§</Property> </Entity> <Entity> <Property name="key">036</Property> <Property name="value">澳大å©äº</Property> </Entity> <Entity> <Property name="key">356</Property> <Property name="value">å°åº¦</Property> </Entity> <Entity> <Property name="key">764</Property> <Property name="value">æ³°å½</Property> </Entity> <Entity> <Property name="key">840</Property> <Property name="value">ç¾å½</Property> </Entity> </Collection> </Property> </Property> </PropertyDef> <PropertyDef name="manageType"> <Property></Property> igds-core/src/main/resources/mapper/CommonMapper.xml
@@ -119,7 +119,8 @@ <!--æ´æ°åºå --> <update id="updateDepotStorage" parameterType="com.ld.igds.common.dto.DepotParam"> update D_DEPOT set STORAGE_REAL_ = #{param.weight} STORAGE_REAL_ = #{param.weight}, DEPOT_STATUS_ = #{param.depotStatus} where COMPANY_ID_ = #{param.companyId} and ID_ = #{param.depotId} igds-inout/src/main/java/com/ld/igds/timer/DepotStoreScheduled.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,140 @@ package com.ld.igds.timer; import com.bstek.bdf2.core.model.DefaultCompany; import com.ld.igds.common.CoreCommonService; import com.ld.igds.constant.DepotStatus; import com.ld.igds.inout.InoutConstant; import com.ld.igds.inout.dto.InoutData; import com.ld.igds.inout.dto.InoutParam; import com.ld.igds.inout.service.InoutService; import com.ld.igds.models.DepotStore; import com.ld.igds.models.InoutRecord; import com.ld.igds.util.ContextUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.time.DateUtils; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Desc: åºå宿¶ç®¡ç - æ¯æ¥æåºå ¥åºãæççæ°æ®æ¶ï¼çæ1æ¡åºåæ°æ®ï¼å¹¶æ´æ°åºå * @author: czt * @update-time: 2023/08/14 */ @Slf4j @Component(DepotStoreScheduled.BEAN_ID) public class DepotStoreScheduled { public static final String BEAN_ID = "inout.depotStoreScheduled"; @Resource private InoutService inoutService; @Resource private CoreCommonService commonService; /** * æ¯å¤©æä¸11ç¹25åæ´æ°åºåæ°æ® */ @Scheduled(cron = "0 10 23 * * ?") public void scheduled1() { List<DefaultCompany> listCompany = commonService.getCompanyList(); if (null == listCompany) return; // è·åå½å¤©çåºå ¥åºè®°å½ï¼å¦ææè®°å½åæ§è¡ï¼å¦ææ²¡æï¼åæ éæ§è¡ InoutParam param = new InoutParam(); param.setEnd(new Date()); param.setStart(DateUtils.addDays(param.getEnd(), -1)); List<InoutData> listRecord; for (DefaultCompany company : listCompany) { param.setCompanyId(company.getId()); listRecord = inoutService.listRecordData(param); //æ ¹æ®åºå ¥åºä¿¡æ¯ï¼åæ¥åºåä¿¡æ¯ sumDepotStoreExe(company.getId(), listRecord, param); } } /** * 忥ä»åºåºåï¼æ ¹æ®è¿æåºå ¥åºè®°å½ï¼å¦ææ²¡æè®°å½å表示æ åºå ¥åºæä½ï¼åæ¶æ§è¡ * * @param companyId * @param listRecord */ private void sumDepotStoreExe(String companyId, List<InoutData> listRecord, InoutParam param) { if (null == listRecord || listRecord.isEmpty()) { log.info("-----------ç³»ç»èªå¨åæ¥åºåï¼è¿ææ åºå ¥åºè®°å½ï¼åæ¶åæ¥ä»åºåºåâ¦â¦{}", companyId); return; } // è·åæåºå ¥åºè®°å½çä»åº Map<String, InoutRecord> map = new HashMap<>(); String key; DepotStore lastStore; double sumRecordWeight = 0.0; for (InoutData data : listRecord) { key = data.getDepotId() + "_" + data.getType(); if (null != map.get(key)) { continue; } map.put(key, data); // æ ¹æ®æåä¸è½¦è¿è¡æ±æ»ç»è®¡ï¼å¼å§æ¶é´æ¯ä»åºåºåæåä¸ä¸ªæ¶é´æªæ¢å°å½å lastStore = commonService.getLastDepotStore(data.getDepotId()); if (null == lastStore) { log.error("--------åºå宿¶ä»»å¡-----没æè·åå°ä»åºæååºåä¿¡æ¯ï¼åæ¶èªå¨ç»è®¡ï¼è¯·æ ¸å¯¹ä¸å¡é»è¾--ä»åº-{}", data.getDepotId()); continue; } param.setDeptId(data.getDeptId()); param.setDepotId(data.getDepotId()); param.setCompanyId(data.getCompanyId()); param.setType(data.getType()); //è·ååºå ¥åºçééä¿¡æ¯ sumRecordWeight = inoutService.sumRecordWeight(param); //æ°å¢ä¸æ¡åºåè®°å½ lastStore.setRemark("ç³»ç»å®æ¶çæè®°å½"); lastStore.setId(ContextUtil.getUUID()); lastStore.setUpdateUser("ç³»ç»ç®¡çå"); lastStore.setUpdateDate(new Date()); lastStore.setCreateDate(new Date()); if(InoutConstant.TYPE_IN.equals(data.getType())){ lastStore.setStorageReal(lastStore.getStorageReal() + sumRecordWeight); //设置ä»åºç¶æ lastStore.setDepotStatus(DepotStatus.STATUS_2.getCode()); //è®¾ç½®å ¥åºæ¶é´ if(null == lastStore.getStoreDate()){ lastStore.setStoreDate(data.getCompleteTime()); } } if(InoutConstant.TYPE_OUT.equals(data.getType())){ lastStore.setStorageReal(lastStore.getStorageReal() - sumRecordWeight); lastStore.setDepotStatus(DepotStatus.STATUS_4.getCode()); //è®¾ç½®å ¥åºæ¶é´ if(null == lastStore.getStoreDate()){ lastStore.setStoreDate(data.getCompleteTime()); } //è¥åºåºåæ°éä¸ºè´æ°ï¼å设置åºåæ°ä¸º0.0 if(lastStore.getStorageReal() < 0){ lastStore.setStorageReal(0.0); } } lastStore.setStorageSettle(lastStore.getStorageReal()); commonService.addDepotStore(lastStore, true); } } } igds-inout/src/main/java/com/ld/igds/timer/InoutScheduled.java
@@ -1,26 +1,19 @@ package com.ld.igds.timer; import com.bstek.bdf2.core.model.DefaultCompany; import com.bstek.dorado.annotation.Expose; import com.ld.igds.common.CoreCommonService; import com.ld.igds.constant.DepotStatus; import com.ld.igds.inout.InoutConstant; import com.ld.igds.inout.dto.InoutData; import com.ld.igds.inout.dto.InoutParam; import com.ld.igds.inout.service.InoutService; import com.ld.igds.m.service.InoutCommonService; import com.ld.igds.models.*; import com.ld.igds.util.ContextUtil; import com.ld.igds.util.DateUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Desc: åºå ¥åºå®æ¶ä»»å¡ã 1ãéç¥å宿éç»è®¡ 2ãåºå ¥åºåºå管çç»è®¡ @@ -31,7 +24,7 @@ @Component(InoutScheduled.BEAN_ID) public class InoutScheduled { public static final String BEAN_ID = "basic.inoutScheduled"; public static final String BEAN_ID = "inout.inoutScheduled"; @Resource private InoutCommonService inoutCommonService; @@ -62,116 +55,8 @@ param.setCompanyId(company.getId()); listRecord = inoutService.listRecordData(param); //æ ¹æ®åºå ¥åºä¿¡æ¯åæ¥éç¥å宿é noticeCompleteExe(company.getId(), listRecord); sumDepotStoreExe(company.getId(), listRecord); } } /** * basic.inoutScheduled#sumDepotStoreExeByHand * <p> * <p> * æå¨æ§è¡åºå ¥åºåºåç»è®¡å ¥å£ * * @param start * @return */ @Expose public String sumDepotStoreExeByHand(Date start) { if (null == start) start = new Date(); start = DateUtil.getCurZero(start); // è·å3天å çåºå ¥åºè®°å½ï¼å¦ææè®°å½åæ§è¡ï¼å¦ææ²¡æï¼åæ éæ§è¡ start = DateUtil.getNewByDay(null, -3); String companyId = ContextUtil.getCompanyId(); InoutParam param = new InoutParam(); param.setStart(start); param.setCompanyId(companyId); List<InoutData> listRecord = inoutService.listRecordData(param); sumDepotStoreExe(companyId, listRecord); return "SUCCESS"; } /** * 忥ä»åºåºåï¼æ ¹æ®è¿æåºå ¥åºè®°å½ï¼å¦ææ²¡æè®°å½å表示æ åºå ¥åºæä½ï¼åæ¶æ§è¡ * * @param companyId * @param listRecord */ private void sumDepotStoreExe(String companyId, List<InoutData> listRecord) { if (null == listRecord || listRecord.isEmpty()) { log.info("-----------ç³»ç»èªå¨åæ¥åºåï¼è¿ææ åºå ¥åºè®°å½ï¼åæ¶åæ¥ä»åºåºåâ¦â¦{}", companyId); return; } // è·åæåºå ¥åºè®°å½çä»åº Map<String, InoutRecord> map = new HashMap<>(); String key; DepotStore lastStore; double sumRecordWeight = 0.0; InoutParam param; for (InoutData data : listRecord) { key = data.getDepotId() + "_" + data.getType(); if (null != map.get(key)) continue; map.put(key, data); // æ ¹æ®æåä¸è½¦è¿è¡æ±æ»ç»è®¡ï¼å¼å§æ¶é´æ¯ä»åºåºåæåä¸ä¸ªæ¶é´æªæ¢å°å½å lastStore = commonService.getLastDepotStore(data.getDepotId()); if (null == lastStore) { log.error( "--------åºå ¥åºå®æ¶ä»»å¡-----没æè·åå°ä»åºæååºåä¿¡æ¯ï¼åæ¶èªå¨ç»è®¡ï¼è¯·æ ¸å¯¹ä¸å¡é»è¾--ä»åº-{}", data.getDepotId()); continue; } // åªæåºå ¥åºç¶æçä»åºæè¿è¡ç»è®¡ï¼å ¶ä»ç¶æè¡¨ç¤ºåºå ¥åºä½ä¸å®æï¼ä¸å¨æ§è¡ç»è®¡ if (DepotStatus.STATUS_2.getCode().equals( lastStore.getDepotStatus()) || DepotStatus.STATUS_4.getCode().equals( lastStore.getDepotStatus())) { param = new InoutParam(); // param.setStart(lastStore.getCreateDate()); param.setEnd(new Date()); param.setDeptId(data.getDeptId()); param.setDepotId(data.getDepotId()); param.setCompanyId(data.getCompanyId()); param.setType(data.getType()); // åºå ¥åºééå计 sumRecordWeight = inoutService.sumRecordWeight(param); // æ°å¢ä¸æ¡åºåè®°å½ lastStore.setRemark("ç³»ç»å®æ¶çæè®°å½"); lastStore.setId(ContextUtil.getUUID()); lastStore.setUpdateUser(null); lastStore.setUpdateDate(new Date()); // lastStore.setCreateDate(new Date()); if (InoutConstant.TYPE_IN.equals(data.getType())) { lastStore.setStorageReal(lastStore.getStorageReal() + sumRecordWeight); } if (InoutConstant.TYPE_OUT.equals(data.getType())) { lastStore.setStorageReal(lastStore.getStorageReal() - sumRecordWeight); } commonService.addDepotStore(lastStore, true); } } } igds-recir/src/main/java/com/ld/igds/models/DrugLogApply.java
@@ -10,7 +10,7 @@ import java.util.List; /** * çè¸ä½ä¸ä¸»è¡¨ä¿¡æ¯ * çè¸å¤æ¡ä¸»è¡¨ä¿¡æ¯ * * @Author:YAN */