diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/BCInventoryDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/BCInventoryDao.java new file mode 100644 index 0000000..41431e3 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/BCInventoryDao.java @@ -0,0 +1,16 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.pojo.BCInventoryModel; + +import java.util.List; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 16时20分 + * @discription + */ +public interface BCInventoryDao { + void batchSave(List bcInventoryModelList); + + void batchDelete(BCInventoryModel bcInventoryModel, List codeList); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/BCTransferInHistoryDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/BCTransferInHistoryDao.java new file mode 100644 index 0000000..583181f --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/BCTransferInHistoryDao.java @@ -0,0 +1,23 @@ +package com.lyms.platform.biz.dal; + +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.BCTransferInHistoryModel; + +import java.util.List; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 17时37分 + * @discription + */ +public interface BCTransferInHistoryDao { + BCTransferInHistoryModel save(BCTransferInHistoryModel bcTransferInHistoryModel); + + BCTransferInHistoryModel findById(String id); + + void cancel(BCTransferInHistoryModel bcTransferInHistoryModel); + + List query(MongoQuery mongoQuery); + + Integer count(MongoQuery mongoQuery); +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BCInventoryDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BCInventoryDaoImpl.java new file mode 100644 index 0000000..4d0b944 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BCInventoryDaoImpl.java @@ -0,0 +1,30 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.BCInventoryDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.BCInventoryModel; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 16时20分 + * @discription + */ +@Repository +public class BCInventoryDaoImpl extends BaseMongoDAOImpl implements BCInventoryDao { + @Override + public void batchSave(List bcInventoryModelList) { + super.batchSave(bcInventoryModelList); + } + + @Override + public void batchDelete(BCInventoryModel bcInventoryModel, List codeList) { + super.delete(new MongoQuery(new MongoCondition("code",codeList, MongoOper.IN).and("enCode",bcInventoryModel.getEnCode(),MongoOper.IS)).convertToMongoQuery()); + } + +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BCTransferInHistoryDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BCTransferInHistoryDaoImpl.java new file mode 100644 index 0000000..b53a250 --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/BCTransferInHistoryDaoImpl.java @@ -0,0 +1,34 @@ +package com.lyms.platform.biz.dal.impl; + +import com.lyms.platform.biz.dal.BCTransferInHistoryDao; +import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.BCTransferInHistoryModel; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 17时38分 + * @discription + */ +@Repository +public class BCTransferInHistoryDaoImpl extends BaseMongoDAOImpl implements BCTransferInHistoryDao { + @Override + public void cancel(BCTransferInHistoryModel bcTransferInHistoryModel) { + super.update(new MongoQuery(new MongoCondition("id", bcTransferInHistoryModel.getId(), MongoOper.IS)).convertToMongoQuery(), bcTransferInHistoryModel); + } + + @Override + public List query(MongoQuery mongoQuery) { + return super.find(mongoQuery.convertToMongoQuery()); + } + + @Override + public Integer count(MongoQuery mongoQuery) { + return (int) count(mongoQuery.convertToMongoQuery()); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BCInventoryService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BCInventoryService.java new file mode 100644 index 0000000..632ebdd --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BCInventoryService.java @@ -0,0 +1,28 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.BCInventoryDao; +import com.lyms.platform.pojo.BCInventoryModel; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 16时22分 + * @discription + */ +@Service +public class BCInventoryService { + + @Autowired + private BCInventoryDao bcInventoryDao; + + public void batchSave(List bcInventoryModelList) { + bcInventoryDao.batchSave(bcInventoryModelList); + } + + public void batchDelete(BCInventoryModel bcInventoryModel, List codeList) { + bcInventoryDao.batchDelete(bcInventoryModel,codeList); + } +} diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BCTransferInHistoryService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BCTransferInHistoryService.java new file mode 100644 index 0000000..16ac03c --- /dev/null +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BCTransferInHistoryService.java @@ -0,0 +1,47 @@ +package com.lyms.platform.biz.service; + +import com.lyms.platform.biz.dal.BCTransferInHistoryDao; +import com.lyms.platform.common.dao.operator.MongoQuery; +import com.lyms.platform.pojo.BCTransferInHistoryModel; +import com.lyms.platform.query.BCTransferInHistoryQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 15时03分 + * @discription + */ +@Service +public class BCTransferInHistoryService { + + @Autowired + private BCTransferInHistoryDao bcTransferInHistoryDao; + + public BCTransferInHistoryModel save(BCTransferInHistoryModel bcTransferInHistoryModel) { + return bcTransferInHistoryDao.save(bcTransferInHistoryModel); + } + + public void cancel(BCTransferInHistoryModel bcTransferInHistoryModel) { + bcTransferInHistoryDao.cancel(bcTransferInHistoryModel); + } + + public BCTransferInHistoryModel findById(String id) { + return bcTransferInHistoryDao.findById(id); + } + + + public List query(BCTransferInHistoryQuery bcTransferInHistoryQuery) { + MongoQuery mongoQuery = bcTransferInHistoryQuery.convertToQuery(); + bcTransferInHistoryQuery.mysqlBuild(bcTransferInHistoryDao.count(bcTransferInHistoryQuery.convertToQuery())); + mongoQuery.start(bcTransferInHistoryQuery.getOffset()).end(bcTransferInHistoryQuery.getLimit()); + return bcTransferInHistoryDao.query(mongoQuery.addOrder(Sort.Direction.DESC, "inDate")); + } + + public Integer count(BCTransferInHistoryQuery bcTransferInHistoryQuery) { + return bcTransferInHistoryDao.count(bcTransferInHistoryQuery.convertToQuery()); + } +} diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/BCEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/BCEnums.java new file mode 100644 index 0000000..36038d9 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/BCEnums.java @@ -0,0 +1,57 @@ +package com.lyms.platform.common.enums; + +/** + * @auther HuJiaqi + * @createTime 2016年11月22日 10时31分 + * @discription + */ +public enum BCEnums { + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 10时40分 + * @discription BCInventoryModel + */ + INVENTORY_1("1", "刚入库未下发或已召回"), + + INVENTORY_2("2", "下发到了2级单位或已召回"), + + INVENTORY_3("3", "下发到了3级单位"), + + INVENTORY_CANCELING("4", "作废中待审核"), + + INVENTORY_CANCELLED("5", "已作废"), + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 10时40分 + * @discription BCTransferInHistoryModel,123状态都不能撤销了 + */ + TRANSFER_IN_HISTORY_EXIST("0", "存在"), + + TRANSFER_IN_HISTORY_CANCEL("1", "已撤销(相当于删除)"), + + TRANSFER_IN_HISTORY_OUT("2", "已下发"), + + TRANSFER_IN_HISTORY_NOT_EXIST("3", "已作废"), + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时57分 + * @discription BCTransferInHistoryQueryModel + */ + TRANSFER_IN_HISTORY_QUERY_YES("0", "可以撤销"), + TRANSFER_IN_HISTORY_QUERY_NO("1", "不能撤销"), + + TEMP("", ""); + + public String code; + + public String name; + + BCEnums(String code, String name) { + this.code = code; + this.name = name; + } + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BCInventoryModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BCInventoryModel.java new file mode 100644 index 0000000..35dd18f --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BCInventoryModel.java @@ -0,0 +1,84 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 10时17分 + * @discription + */ +@Document(collection = "lyms_bc_inventory") +public class BCInventoryModel extends BaseModel { + + private String id; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 11时02分 + * @discription 操作员id + */ + private Integer operatorId; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 10时27分 + * @discription 英文编号 + */ + private String enCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 11时25分 + * @discription 编号 + */ + private Long code; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 11时38分 + * @discription 库存状态 + */ + private String status; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Integer getOperatorId() { + return operatorId; + } + + public void setOperatorId(Integer operatorId) { + this.operatorId = operatorId; + } + + public String getEnCode() { + return enCode; + } + + public void setEnCode(String enCode) { + this.enCode = enCode; + } + + public Long getCode() { + return code; + } + + public void setCode(Long code) { + this.code = code; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + +} diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BCTransferInHistoryModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BCTransferInHistoryModel.java new file mode 100644 index 0000000..0b103ae --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BCTransferInHistoryModel.java @@ -0,0 +1,190 @@ +package com.lyms.platform.pojo; + +import com.lyms.platform.common.result.BaseModel; +import org.springframework.data.mongodb.core.mapping.Document; + +import java.util.Date; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时47分 + * @discription + */ +@Document(collection = "lyms_bc_transferInHistory") +public class BCTransferInHistoryModel extends BaseModel { + + private String id; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时51分 + * @discription 入库日期 + */ + private Date inDate; + + /** + * @auther HuJiaqi + * @createTime 2016年11月21日 15时25分 + * @discription 撤销日期 + */ + private Date cancelDate; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时52分 + * @discription 英文编号 + */ + private String enCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时52分 + * @discription 起始编号 + */ + private Long startCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时52分 + * @discription 结束编号 + */ + private Long endCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时52分 + * @discription 数量 + */ + private Integer total; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时54分 + * @discription 入库操作员id + */ + private Integer inOperatorId; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 13时55分 + * @discription 入库操作员名称 + */ + private String inOperatorName; + + /** + * @auther HuJiaqi + * @createTime 2016年11月21日 15时20分 + * @discription 取消操作员id + */ + private Integer cancelOperatorId; + + /** + * @auther HuJiaqi + * @createTime 2016年11月21日 15时19分 + * @discription 取消操作员名称 + */ + private String cancelOperatorName; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 14时08分 + * @discription 状态 + */ + private String status; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Date getInDate() { + return inDate; + } + + public void setInDate(Date inDate) { + this.inDate = inDate; + } + + public Date getCancelDate() { + return cancelDate; + } + + public void setCancelDate(Date cancelDate) { + this.cancelDate = cancelDate; + } + + public String getEnCode() { + return enCode; + } + + public void setEnCode(String enCode) { + this.enCode = enCode; + } + + public Long getStartCode() { + return startCode; + } + + public void setStartCode(Long startCode) { + this.startCode = startCode; + } + + public Long getEndCode() { + return endCode; + } + + public void setEndCode(Long endCode) { + this.endCode = endCode; + } + + public Integer getTotal() { + return total; + } + + public void setTotal(Integer total) { + this.total = total; + } + + public Integer getInOperatorId() { + return inOperatorId; + } + + public void setInOperatorId(Integer inOperatorId) { + this.inOperatorId = inOperatorId; + } + + public String getInOperatorName() { + return inOperatorName; + } + + public void setInOperatorName(String inOperatorName) { + this.inOperatorName = inOperatorName; + } + + public Integer getCancelOperatorId() { + return cancelOperatorId; + } + + public void setCancelOperatorId(Integer cancelOperatorId) { + this.cancelOperatorId = cancelOperatorId; + } + + public String getCancelOperatorName() { + return cancelOperatorName; + } + + public void setCancelOperatorName(String cancelOperatorName) { + this.cancelOperatorName = cancelOperatorName; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BCTransferInHistoryQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BCTransferInHistoryQuery.java new file mode 100644 index 0000000..c4da3c9 --- /dev/null +++ b/platform-dal/src/main/java/com/lyms/platform/query/BCTransferInHistoryQuery.java @@ -0,0 +1,54 @@ +package com.lyms.platform.query; + +import com.lyms.platform.common.base.IConvertToNativeQuery; +import com.lyms.platform.common.dao.BaseQuery; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoQuery; +import org.springframework.data.mongodb.core.query.Criteria; + +import java.util.Date; + +/** + * @auther HuJiaqi + * @createTime 2016年11月22日 10时56分 + * @discription + */ +public class BCTransferInHistoryQuery extends BaseQuery implements IConvertToNativeQuery { + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时01分 + * @discription 开始时间 + */ + private Date startDate; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时01分 + * @discription 结束时间 + */ + private Date endDate; + + @Override + public MongoQuery convertToQuery() { + Criteria criteria = new Criteria(); + criteria.and("inDate").gte(startDate).lte(endDate); + return new MongoCondition(criteria).toMongoQuery(); + } + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BCTransferInController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BCTransferInController.java new file mode 100644 index 0000000..32e2805 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BCTransferInController.java @@ -0,0 +1,200 @@ +package com.lyms.platform.operate.web.controller; + +import com.lyms.platform.common.base.BaseController; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.BCEnums; +import com.lyms.platform.common.result.BaseListResponse; +import com.lyms.platform.common.result.BaseObjectResponse; +import com.lyms.platform.common.utils.BeanUtils; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.ExcelUtil; +import com.lyms.platform.operate.web.facade.BCTransferInFacade; +import com.lyms.platform.operate.web.request.BCTransferInCancelRequest; +import com.lyms.platform.operate.web.request.BCTransferInQueryRequest; +import com.lyms.platform.operate.web.request.BCTransferInSaveRequest; +import com.lyms.platform.operate.web.result.BCTransferInCancelResult; +import com.lyms.platform.operate.web.result.BCTransferInHistoryQueryModel; +import com.lyms.platform.operate.web.result.BCTransferInQueryResult; +import com.lyms.platform.operate.web.result.BCTransferInSaveResult; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.*; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 09时59分 + * @discription 出生医学证明-证明流转-证明入库 + */ +@Controller +@RequestMapping("bc/transfer/in") +public class BCTransferInController extends BaseController { + + private Logger log = Logger.getLogger(this.getClass()); + + @Autowired + private BCTransferInFacade bcTransferInFacade; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 15时02分 + * @discription 新增入库 + */ + @ResponseBody + @RequestMapping(value = "save", method = RequestMethod.POST) + public BaseObjectResponse save(HttpServletRequest httpServletRequest, + @RequestParam String enCode, + @RequestParam long startCode, + @RequestParam long endCode) { + BaseObjectResponse baseObjectResponse; + try { + BCTransferInSaveRequest bcTransferInSaveRequest = new BCTransferInSaveRequest(); + bcTransferInSaveRequest.setEnCode(enCode); + bcTransferInSaveRequest.setStartCode(startCode); + bcTransferInSaveRequest.setEndCode(endCode); + + // TODO HuJiaqi-这里是自测使用的调试需要修改 + // LoginContext loginContext = (LoginContext) httpServletRequest.getAttribute("loginContext"); + // Integer operatorId = loginContext.getId(); + Integer operatorId = 123456; + + BCTransferInSaveResult bcTransferInSaveResult = bcTransferInFacade.save(bcTransferInSaveRequest, operatorId); + if (bcTransferInSaveResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { + baseObjectResponse = new BaseObjectResponse().setErrorcode(bcTransferInSaveResult.getErrorcode()).setErrormsg(bcTransferInSaveResult.getErrormsg()); + return baseObjectResponse; + } + baseObjectResponse = new BaseObjectResponse().setErrorcode(bcTransferInSaveResult.getErrorcode()).setErrormsg(bcTransferInSaveResult.getErrormsg()).setData(bcTransferInSaveResult); + } catch (Exception e) { + baseObjectResponse = new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + log.error("bc/transfer/in/save异常:" + e); + } + return baseObjectResponse; + } + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时24分 + * @discription 撤销 + */ + @ResponseBody + @RequestMapping(value = "cancel", method = RequestMethod.POST) + public BaseObjectResponse cancel(HttpServletRequest httpServletRequest, + @RequestParam String id) { + BaseObjectResponse baseObjectResponse; + try { + BCTransferInCancelRequest bcTransferInCancelRequest = new BCTransferInCancelRequest(); + bcTransferInCancelRequest.setId(id); + + // TODO HuJiaqi-这里是自测使用的调试需要修改 + // LoginContext loginContext = (LoginContext) httpServletRequest.getAttribute("loginContext"); + // Integer operatorId = loginContext.getId(); + Integer operatorId = 123456; + + BCTransferInCancelResult bcTransferInCancelResult = bcTransferInFacade.cancel(bcTransferInCancelRequest, operatorId); + if (bcTransferInCancelResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { + baseObjectResponse = new BaseObjectResponse().setErrorcode(bcTransferInCancelResult.getErrorcode()).setErrormsg(bcTransferInCancelResult.getErrormsg()); + return baseObjectResponse; + } + baseObjectResponse = new BaseObjectResponse().setErrorcode(bcTransferInCancelResult.getErrorcode()).setErrormsg(bcTransferInCancelResult.getErrormsg()).setData(bcTransferInCancelResult); + } catch (Exception e) { + baseObjectResponse = new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + log.error("bc/transfer/in/cancel异常:" + e); + } + return baseObjectResponse; + } + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时24分 + * @discription 查询列表 + */ + @ResponseBody + @RequestMapping(value = "query", method = RequestMethod.POST) + public BaseListResponse query(HttpServletRequest httpServletRequest, + @RequestParam String startDate, + @RequestParam String endDate, + @RequestParam Integer page, + @RequestParam Integer limit) { + BaseListResponse baseListResponse; + try { + BCTransferInQueryRequest bcTransferInQueryRequest = new BCTransferInQueryRequest(); + try { + bcTransferInQueryRequest.setStartDate(DateUtil.parseYMDHMS(startDate)); + bcTransferInQueryRequest.setEndDate(DateUtil.parseYMDHMS(endDate)); + } catch (Exception e) { + baseListResponse = new BaseListResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg("时间格式传入错误"); + return baseListResponse; + } + bcTransferInQueryRequest.setPage(page); + bcTransferInQueryRequest.setLimit(limit); + + // TODO HuJiaqi-这里是自测使用的调试需要修改 + // LoginContext loginContext = (LoginContext) httpServletRequest.getAttribute("loginContext"); + // Integer operatorId = loginContext.getId(); + Integer operatorId = 123456; + + BCTransferInQueryResult bcTransferInQueryResult = bcTransferInFacade.query(bcTransferInQueryRequest, operatorId); + if (bcTransferInQueryResult.getErrorcode() != ErrorCodeConstants.SUCCESS) { + baseListResponse = new BaseListResponse().setErrorcode(bcTransferInQueryResult.getErrorcode()).setErrormsg(bcTransferInQueryResult.getErrormsg()); + return baseListResponse; + } + baseListResponse = new BaseListResponse().setErrorcode(bcTransferInQueryResult.getErrorcode()).setErrormsg(bcTransferInQueryResult.getErrormsg()).setData(bcTransferInQueryResult.getData()).setPageInfo(bcTransferInQueryResult.getPageInfo()); + } catch (Exception e) { + baseListResponse = new BaseListResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); + log.error("bc/transfer/in/query异常:" + e); + } + return baseListResponse; + } + + @RequestMapping(value = "excel", method = RequestMethod.GET) + public void excel(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, + @RequestParam String startDate, + @RequestParam String endDate, + @RequestParam Integer page, + @RequestParam Integer limit) { + try { + httpServletResponse.setContentType("application/octet-stream"); + httpServletResponse.setHeader("Content-Disposition", "attachment;fileName=" + "datas.xls"); + BCTransferInQueryRequest bcTransferInQueryRequest = new BCTransferInQueryRequest(); + bcTransferInQueryRequest.setStartDate(DateUtil.parseYMDHMS(startDate)); + bcTransferInQueryRequest.setEndDate(DateUtil.parseYMDHMS(endDate)); + bcTransferInQueryRequest.setPage(page); + bcTransferInQueryRequest.setLimit(limit); + + // TODO HuJiaqi-这里是自测使用的调试需要修改 + // LoginContext loginContext = (LoginContext) httpServletRequest.getAttribute("loginContext"); + // Integer operatorId = loginContext.getId(); + Integer operatorId = 123456; + + // 这里返回的结果必然是这个泛型,之所以query返回的结果集没有用泛型是为了更好的传递数据 + @SuppressWarnings("unchecked") + List bcTransferInHistoryQueryModelList = bcTransferInFacade.query(bcTransferInQueryRequest, operatorId).getData(); + List> list = new ArrayList<>(); + for (BCTransferInHistoryQueryModel bcTransferInHistoryQueryModel : bcTransferInHistoryQueryModelList) { + Map map = BeanUtils.objectToObjectMap(bcTransferInHistoryQueryModel); + map.put("inDate", DateUtil.getyyyy_MM_dd(bcTransferInHistoryQueryModel.getInDate())); + map.put("isCancel", bcTransferInHistoryQueryModel.getIsCancel().equals(BCEnums.TRANSFER_IN_HISTORY_QUERY_YES.code) ? "可" : "否"); + list.add(map); + } + Map header = new HashMap<>(); + header.put("inDate", "入库日期"); + header.put("enCode", "英文编号"); + header.put("startCode", "起始编号"); + header.put("endCode", "截止编号"); + header.put("total", "数量"); + header.put("inOperatorName", "经办人"); + header.put("isCancel", "可否撤销"); + ExcelUtil.toExcel(httpServletResponse.getOutputStream(), list, header); + } catch (Exception e) { + log.error("bc/transfer/in/excel导出excel失败:" + e); + } + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BCTransferInFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BCTransferInFacade.java new file mode 100644 index 0000000..b71550c --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BCTransferInFacade.java @@ -0,0 +1,183 @@ +package com.lyms.platform.operate.web.facade; + +import com.lyms.platform.biz.service.BCInventoryService; +import com.lyms.platform.biz.service.BCTransferInHistoryService; +import com.lyms.platform.common.constants.ErrorCodeConstants; +import com.lyms.platform.common.enums.BCEnums; +import com.lyms.platform.common.utils.BeanUtils; +import com.lyms.platform.common.utils.StringUtils; +import com.lyms.platform.operate.web.request.BCTransferInCancelRequest; +import com.lyms.platform.operate.web.request.BCTransferInQueryRequest; +import com.lyms.platform.operate.web.request.BCTransferInSaveRequest; +import com.lyms.platform.operate.web.result.BCTransferInCancelResult; +import com.lyms.platform.operate.web.result.BCTransferInHistoryQueryModel; +import com.lyms.platform.operate.web.result.BCTransferInQueryResult; +import com.lyms.platform.operate.web.result.BCTransferInSaveResult; +import com.lyms.platform.permission.model.Users; +import com.lyms.platform.permission.service.UsersService; +import com.lyms.platform.pojo.BCInventoryModel; +import com.lyms.platform.pojo.BCTransferInHistoryModel; +import com.lyms.platform.query.BCTransferInHistoryQuery; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import static com.lyms.platform.common.enums.BCEnums.TRANSFER_IN_HISTORY_QUERY_NO; +import static com.lyms.platform.common.enums.BCEnums.TRANSFER_IN_HISTORY_QUERY_YES; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 14时59分 + * @discription + */ +@Component +public class BCTransferInFacade { + + @Autowired + private UsersService usersService; + + @Autowired + private BCInventoryService bcInventoryService; + + @Autowired + private BCTransferInHistoryService bcTransferInHistoryService; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 15时02分 + * @discription 新增入库 + */ + public BCTransferInSaveResult save(BCTransferInSaveRequest bcTransferInSaveRequest, Integer operatorId) { + + BCTransferInSaveResult bcTransferInSaveResult = new BCTransferInSaveResult(); + + // TODO HuJiaqi-是否需要判断用户级别 + // Users users = usersService.getUsers(operatorId); + // if (users == null) { + // bcTransferInSaveResult.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + // bcTransferInSaveResult.setErrormsg("用户信息异常"); + // return bcTransferInSaveResult; + // } + Users users = new Users(); + users.setName("HuJiaqi"); + + // 计算总量 + Integer total = (int) (bcTransferInSaveRequest.getEndCode() - bcTransferInSaveRequest.getStartCode() + 1); + + // 1、先插入历史列表 + BCTransferInHistoryModel bcTransferInHistoryModel = new BCTransferInHistoryModel(); + BeanUtils.copy(bcTransferInSaveRequest, bcTransferInHistoryModel); + bcTransferInHistoryModel.setInDate(new Date()); + bcTransferInHistoryModel.setTotal(total); + bcTransferInHistoryModel.setInOperatorId(operatorId); + bcTransferInHistoryModel.setInOperatorName(users.getName()); + bcTransferInHistoryModel.setStatus(BCEnums.TRANSFER_IN_HISTORY_EXIST.code); + bcTransferInHistoryModel = bcTransferInHistoryService.save(bcTransferInHistoryModel); + if (bcTransferInHistoryModel == null || StringUtils.isEmpty(bcTransferInHistoryModel.getId())) { + bcTransferInSaveResult.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + bcTransferInSaveResult.setErrormsg("保存入库记录失败"); + } + + // 2、维护库存表 + List bcInventoryModelList = new ArrayList<>(); + for (Integer i = 0; i < total; i++) { + BCInventoryModel bcInventoryModel = new BCInventoryModel(); + bcInventoryModel.setOperatorId(operatorId); + bcInventoryModel.setStatus(BCEnums.INVENTORY_1.code); + BeanUtils.copy(bcTransferInSaveRequest, bcInventoryModel); + bcInventoryModel.setCode(bcTransferInSaveRequest.getStartCode() + i); + bcInventoryModelList.add(bcInventoryModel); + } + try { + bcInventoryService.batchSave(bcInventoryModelList); + } catch (Exception e) { + bcTransferInSaveResult.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + bcTransferInSaveResult.setErrormsg("入库失败"); + } + + bcTransferInSaveResult.setErrorcode(ErrorCodeConstants.SUCCESS); + bcTransferInSaveResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + + return bcTransferInSaveResult; + } + + public BCTransferInCancelResult cancel(BCTransferInCancelRequest bcTransferInCancelRequest, Integer operatorId) { + + BCTransferInCancelResult bcTransferInCancelResult = new BCTransferInCancelResult(); + + // TODO HuJiaqi-是否需要判断用户级别 + // Users users = usersService.getUsers(operatorId); + // if (users == null) { + // bcTransferInSaveResult.setErrorcode(ErrorCodeConstants.SYSTEM_ERROR); + // bcTransferInSaveResult.setErrormsg("用户信息异常"); + // return bcTransferInSaveResult; + // } + Users users = new Users(); + users.setName("HuJiaqi"); + + // 1、查询这条历史记录 + BCTransferInHistoryModel bcTransferInHistoryModel = bcTransferInHistoryService.findById(bcTransferInCancelRequest.getId()); + Integer total = bcTransferInHistoryModel.getTotal(); + BCInventoryModel bcInventoryModel = new BCInventoryModel(); + bcInventoryModel.setEnCode(bcTransferInHistoryModel.getEnCode()); + Long startCode = bcTransferInHistoryModel.getStartCode(); + + // 2、逻辑删除历史记录 + bcTransferInHistoryModel = new BCTransferInHistoryModel(); + bcTransferInHistoryModel.setId(bcTransferInCancelRequest.getId()); + bcTransferInHistoryModel.setCancelOperatorId(operatorId); + bcTransferInHistoryModel.setCancelOperatorName(users.getName()); + bcTransferInHistoryModel.setCancelDate(new Date()); + bcTransferInHistoryModel.setStatus(BCEnums.TRANSFER_IN_HISTORY_CANCEL.code); + bcTransferInHistoryService.cancel(bcTransferInHistoryModel); + + // 3、物理删除库存 + List codeList = new ArrayList<>(); + for (Integer i = 0; i < total; i++) { + codeList.add(startCode + i); + } + bcInventoryService.batchDelete(bcInventoryModel, codeList); + + bcTransferInCancelResult.setErrorcode(ErrorCodeConstants.SUCCESS); + bcTransferInCancelResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + + return bcTransferInCancelResult; + } + + public BCTransferInQueryResult query(BCTransferInQueryRequest bcTransferInQueryRequest, Integer operatorId) { + + BCTransferInQueryResult bcTransferInQueryResult = new BCTransferInQueryResult(); + + BCTransferInHistoryQuery bcTransferInHistoryQuery = new BCTransferInHistoryQuery(); + BeanUtils.copy(bcTransferInQueryRequest,bcTransferInHistoryQuery); + + + // 查询 + List bcTransferInHistoryModelList = bcTransferInHistoryService.query(bcTransferInHistoryQuery); + bcTransferInQueryResult.setPageInfo(bcTransferInHistoryQuery.getPageInfo()); + + // 复制结果集 + List bcTransferInHistoryQueryModelList = new ArrayList<>(); + if (bcTransferInHistoryModelList != null && bcTransferInHistoryModelList.size() > 0) { + for (BCTransferInHistoryModel bcTransferInHistoryModel : bcTransferInHistoryModelList) { + BCTransferInHistoryQueryModel bcTransferInHistoryQueryModel = new BCTransferInHistoryQueryModel(); + BeanUtils.copy(bcTransferInHistoryModel, bcTransferInHistoryQueryModel); + if(BCEnums.TRANSFER_IN_HISTORY_EXIST.code.equals(bcTransferInHistoryModel.getStatus())){ + bcTransferInHistoryQueryModel.setIsCancel(TRANSFER_IN_HISTORY_QUERY_YES.code); + }else{ + bcTransferInHistoryQueryModel.setIsCancel(TRANSFER_IN_HISTORY_QUERY_NO.code); + } + bcTransferInHistoryQueryModelList.add(bcTransferInHistoryQueryModel); + } + } + bcTransferInQueryResult.setData(bcTransferInHistoryQueryModelList); + + bcTransferInQueryResult.setErrorcode(ErrorCodeConstants.SUCCESS); + bcTransferInQueryResult.setErrormsg(ErrorCodeConstants.SUCCESS_DESCRIPTION); + + return bcTransferInQueryResult; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInCancelRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInCancelRequest.java new file mode 100644 index 0000000..f92f337 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInCancelRequest.java @@ -0,0 +1,27 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.core.annotation.form.Form; + +/** + * @auther HuJiaqi + * @createTime 2016年11月21日 15时13分 + * @discription + */ +@Form +public class BCTransferInCancelRequest { + + /** + * @auther HuJiaqi + * @createTime 2016年11月21日 16时12分 + * @discription 入库历史id + */ + private String id; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInQueryRequest.java new file mode 100644 index 0000000..42c6973 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInQueryRequest.java @@ -0,0 +1,41 @@ +package com.lyms.platform.operate.web.request; + +import java.util.Date; + +/** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时16分 + * @discription + */ +public class BCTransferInQueryRequest extends BasePageQueryRequest { + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时22分 + * @discription 开始时间 + */ + private Date startDate; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时22分 + * @discription 结束时间 + */ + private Date endDate; + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInSaveRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInSaveRequest.java new file mode 100644 index 0000000..11a4d29 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/BCTransferInSaveRequest.java @@ -0,0 +1,58 @@ +package com.lyms.platform.operate.web.request; + +import com.lyms.platform.common.core.annotation.form.Form; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 14时26分 + * @discription + */ +@Form +public class BCTransferInSaveRequest { + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 14时29分 + * @discription 英文字母编号 + */ + private String enCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 14时29分 + * @discription 起始编号 + */ + private Long startCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月18日 14时31分 + * @discription 截止编号 + */ + private Long endCode; + + public String getEnCode() { + return enCode; + } + + public void setEnCode(String enCode) { + this.enCode = enCode; + } + + public Long getStartCode() { + return startCode; + } + + public void setStartCode(Long startCode) { + this.startCode = startCode; + } + + public Long getEndCode() { + return endCode; + } + + public void setEndCode(Long endCode) { + this.endCode = endCode; + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInCancelResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInCancelResult.java new file mode 100644 index 0000000..c8dde25 --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInCancelResult.java @@ -0,0 +1,11 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.common.result.BaseResponse; + +/** + * @auther HuJiaqi + * @createTime 2016年11月21日 15时13分 + * @discription + */ +public class BCTransferInCancelResult extends BaseResponse { +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInHistoryQueryModel.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInHistoryQueryModel.java new file mode 100644 index 0000000..c9d446e --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInHistoryQueryModel.java @@ -0,0 +1,118 @@ +package com.lyms.platform.operate.web.result; + +import java.util.Date; + +/** + * @auther HuJiaqi + * @createTime 2016年11月22日 15时00分 + * @discription + */ +public class BCTransferInHistoryQueryModel { + + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时45分 + * @discription 入库日期 + */ + private Date inDate; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时45分 + * @discription 英文编号 + */ + private String enCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时45分 + * @discription 起始编号 + */ + private Long startCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时54分 + * @discription 截止编号 + */ + private Long endCode; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时54分 + * @discription 数量 + */ + private Integer total; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时55分 + * @discription 经办人 + */ + private String inOperatorName; + + /** + * @auther HuJiaqi + * @createTime 2016年11月22日 13时56分 + * @discription 是否可以撤销 + */ + private String isCancel; + + public Date getInDate() { + return inDate; + } + + public void setInDate(Date inDate) { + this.inDate = inDate; + } + + public String getEnCode() { + return enCode; + } + + public void setEnCode(String enCode) { + this.enCode = enCode; + } + + public Long getStartCode() { + return startCode; + } + + public void setStartCode(Long startCode) { + this.startCode = startCode; + } + + public Long getEndCode() { + return endCode; + } + + public void setEndCode(Long endCode) { + this.endCode = endCode; + } + + public Integer getTotal() { + return total; + } + + public void setTotal(Integer total) { + this.total = total; + } + + public String getInOperatorName() { + return inOperatorName; + } + + public void setInOperatorName(String inOperatorName) { + this.inOperatorName = inOperatorName; + } + + public String getIsCancel() { + return isCancel; + } + + public void setIsCancel(String isCancel) { + this.isCancel = isCancel; + } + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInQueryResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInQueryResult.java new file mode 100644 index 0000000..5bcf2ef --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInQueryResult.java @@ -0,0 +1,12 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.common.result.BaseListResponse; + +/** + * @auther HuJiaqi + * @createTime 2016年11月22日 11时17分 + * @discription + */ +public class BCTransferInQueryResult extends BaseListResponse { + +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInSaveResult.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInSaveResult.java new file mode 100644 index 0000000..55e7d6f --- /dev/null +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/result/BCTransferInSaveResult.java @@ -0,0 +1,11 @@ +package com.lyms.platform.operate.web.result; + +import com.lyms.platform.common.result.BaseResponse; + +/** + * @auther HuJiaqi + * @createTime 2016年11月18日 14时46分 + * @discription + */ +public class BCTransferInSaveResult extends BaseResponse { +}