From 2a29aade775ed35f4b16d9c8cdfe128ebbf07cae Mon Sep 17 00:00:00 2001 From: yiyan Date: Tue, 12 Feb 2019 20:12:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E5=8D=95=E7=94=9F=E6=88=90=EF=BC=88?= =?UTF-8?q?=E6=AF=8F=E6=9C=881=E5=8F=B7=E5=87=8C=E6=99=A81=E7=82=B9?= =?UTF-8?q?=E7=94=9F=E6=88=90=E4=B8=8A=E4=B8=AA=E6=9C=88=E8=B4=A6=E5=8D=95?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ifish/dao/FactoryListDao.java | 1 - .../com/ifish/daoImpl/FactoryListDaoImpl.java | 2 + src/main/java/com/ifish/entity/PayBill.java | 4 +- src/main/java/com/ifish/job/PayBillJob.java | 87 +++++++++++++++++++ .../com/ifish/service/FactoryService.java | 13 ++- .../ifish/serviceImpl/FactoryServiceImpl.java | 30 +++++++ src/main/resources/springmvc-servlet.xml | 2 +- 7 files changed, 134 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/ifish/job/PayBillJob.java diff --git a/src/main/java/com/ifish/dao/FactoryListDao.java b/src/main/java/com/ifish/dao/FactoryListDao.java index 0f2e56b..2c09ee1 100644 --- a/src/main/java/com/ifish/dao/FactoryListDao.java +++ b/src/main/java/com/ifish/dao/FactoryListDao.java @@ -14,5 +14,4 @@ public interface FactoryListDao extends BaseDao{ //获取鱼缸厂下所有属电子厂 public Map getFactoryByVenderCode(String venderCode); - } diff --git a/src/main/java/com/ifish/daoImpl/FactoryListDaoImpl.java b/src/main/java/com/ifish/daoImpl/FactoryListDaoImpl.java index bac1d39..823b25a 100644 --- a/src/main/java/com/ifish/daoImpl/FactoryListDaoImpl.java +++ b/src/main/java/com/ifish/daoImpl/FactoryListDaoImpl.java @@ -40,4 +40,6 @@ public class FactoryListDaoImpl extends HibernateBaseDao im return returnMap; } + + } diff --git a/src/main/java/com/ifish/entity/PayBill.java b/src/main/java/com/ifish/entity/PayBill.java index e773d73..dcb3c71 100644 --- a/src/main/java/com/ifish/entity/PayBill.java +++ b/src/main/java/com/ifish/entity/PayBill.java @@ -29,7 +29,7 @@ public class PayBill implements Serializable{ private String isTax; //创建时间 private Date createTime; - + public PayBillId getPayBillId() { return payBillId; } @@ -78,5 +78,5 @@ public class PayBill implements Serializable{ public void setIsTax(String isTax) { this.isTax = isTax; } - + } diff --git a/src/main/java/com/ifish/job/PayBillJob.java b/src/main/java/com/ifish/job/PayBillJob.java new file mode 100644 index 0000000..76419b9 --- /dev/null +++ b/src/main/java/com/ifish/job/PayBillJob.java @@ -0,0 +1,87 @@ +package com.ifish.job; + +import com.ifish.entity.FactoryList; +import com.ifish.entity.PayBill; +import com.ifish.entity.id.PayBillId; +import com.ifish.enums.BooleanEnum; +import com.ifish.service.FactoryService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +import java.util.Calendar; +import java.util.Date; +import java.util.List; + + +/** + * @author: yan.y + * @Description: + * @Date: Created in 18:34 2019-01-23 + * @Modified by: + */ +@Component +@EnableScheduling +@Lazy(false) +public class PayBillJob { + + private static Logger log = LoggerFactory.getLogger(PayBillJob.class); + + @Autowired + private FactoryService factoryService; + + @Scheduled(cron= "0 0 1 1 * ?") + public void addPayBillJob(){ + Calendar calendar = Calendar.getInstance(); + String billMonth = calendar.get(Calendar.YEAR) + "-" + (calendar.get(Calendar.MONTH) < 10 ? ("0" + calendar.get(Calendar.MONTH)) : calendar.get(Calendar.MONTH)); + log.info("addPayBill begin ..."); + List factoryList = factoryService.getFactoryList(); + for (FactoryList list : factoryList) { + PayBill payBill = new PayBill(); + String factoryCode = list.getFactoryCode(); + String isTax = list.getIsTax(); + int number = factoryService.getDeviceCountByFactory(factoryCode); + payBill.setFactoryList(list); + payBill.setIsTax(isTax); + payBill.setPayStatus("0"); + payBill.setAuthorizeNumber(number); + PayBillId payBillId = new PayBillId(); + payBillId.setBillMonth(billMonth); + payBillId.setFactoryCode(factoryCode); + payBill.setPayBillId(payBillId); + payBill.setPayDate(new Date()); + payBill.setCreateTime(new Date()); + //支付金额 + Integer money = 0; + //数量小于1000,每个收费15元 + if (number < 1000) { + money = number * 15; + } //数量1000~5000,每个收费12元 + else if (number >= 1000 && number < 5000) { + money = number * 12; + } //数量5000~10000,每个收费10元 + else if (number >= 5000 && number < 10000) { + money = number * 10; + } //数量大于10000,每个收费8元 + else if (number >= 10000) { + money = number * 8; + } + //数量超过1000的且需要收税的每个收税一元 + if (number >= 1000 && isTax.equals(BooleanEnum.YES.getKey())) { + payBill.setPayMoney(money + number); + } else { + payBill.setPayMoney(money); + } + if (number > 0) { + factoryService.savePayBill(payBill); + } + } + + + log.info("addPayBill end ..."); + } +} diff --git a/src/main/java/com/ifish/service/FactoryService.java b/src/main/java/com/ifish/service/FactoryService.java index 6784ca4..fb47e39 100644 --- a/src/main/java/com/ifish/service/FactoryService.java +++ b/src/main/java/com/ifish/service/FactoryService.java @@ -1,9 +1,12 @@ package com.ifish.service; +import java.util.List; import java.util.Map; import java.util.Set; +import com.ifish.entity.FactoryList; import com.ifish.entity.HardwareType; +import com.ifish.entity.PayBill; import org.springframework.web.multipart.MultipartFile; import com.ifish.entity.Device; @@ -30,5 +33,13 @@ public interface FactoryService { public void uploadExcel(String ip,String factoryCode,String brandCode,MultipartFile fileUpload); Pagination getDeviceByPageNew(SearchFilter searchFilter,Set hardwareTypeSet); - + + //获取厂家下的设备总数量 + int getDeviceCountByFactory(String factoryCode); + + FactoryList get(String id); + + List getFactoryList(); + + void savePayBill(PayBill payBill); } diff --git a/src/main/java/com/ifish/serviceImpl/FactoryServiceImpl.java b/src/main/java/com/ifish/serviceImpl/FactoryServiceImpl.java index b0fe3ea..9ae381f 100644 --- a/src/main/java/com/ifish/serviceImpl/FactoryServiceImpl.java +++ b/src/main/java/com/ifish/serviceImpl/FactoryServiceImpl.java @@ -1,8 +1,10 @@ package com.ifish.serviceImpl; import java.io.InputStream; +import java.text.SimpleDateFormat; import java.util.*; +import com.ifish.dao.PayBillDao; import com.ifish.entity.*; import jxl.Cell; import jxl.Sheet; @@ -44,12 +46,40 @@ public class FactoryServiceImpl implements FactoryService { private FactoryListDao factoryListDao; @Autowired private OperateRecordDao operateRecordDao; + @Autowired + private PayBillDao payBillDao; @Override public Map getFactoryByVenderCode(String venderCode) { return factoryListDao.getFactoryByVenderCode(venderCode); } + @Override + public int getDeviceCountByFactory(String factoryCode) { + Calendar calendar = Calendar.getInstance(); + String year = String.valueOf(calendar.get(Calendar.YEAR)); + String month = (calendar.get(Calendar.MONTH) < 10 ? "0" + calendar.get(Calendar.MONTH) : calendar.get(Calendar.MONTH)) + ""; + int count = this.deviceDao.getNumber("SELECT count(1) from tbl_device td where td.factory_code = '"+ factoryCode +"' and str_to_date(td.authorize_time,'%Y-%m')='" + year + "-" + month + "-00'"); + return count; + } + + @Override + public FactoryList get(String id) { + return this.factoryListDao.get(id); + } + + @Override + public void savePayBill(PayBill payBill) { + payBillDao.save(payBill); + } + + @Override + public List getFactoryList() { + List queryList = new ArrayList(); + List factoryLists = this.factoryListDao.findByProperty(queryList.toArray(new Criterion[queryList.size()])); + return factoryLists; + } + @Override public void uploadExcel(String ip,String factoryCode,String brandCode,MultipartFile fileUpload) { try { diff --git a/src/main/resources/springmvc-servlet.xml b/src/main/resources/springmvc-servlet.xml index a3f8d3c..d5b53bd 100644 --- a/src/main/resources/springmvc-servlet.xml +++ b/src/main/resources/springmvc-servlet.xml @@ -14,7 +14,7 @@ - +